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

-- --------------------------- Revision ----------------------------------------
-- Date        Version   Author         Chanage Description
--
-- 2013/10/21  4.00.010  D-Link         1. Changed private MIB module name to cx. 
--
-- 2013/09/23  4.00.009  D-Link         1. Add DdpProtStatusEntry for sysDdp.
--
-- 2013/08/02  4.00.008  D-Link         1. Modify "trustedHostIpAddr" and "trustedHostIpMask" syntax from Ipv6Address to DisplayString.
--
-- 2013/07/23  4.00.007  D-Link         1. Remove group interval function from DUT private MIB.
--                                      2. Modifed object "sysIpAddrCfgMode", "impbInsIpPacPortState", "stpPriority", and "impbBlackListIpAddress".
--                                      3. Modify Traffic Segmentation mib object description.
--                                      4. Modify dhcpBOOTPRelay to dhcpRelay.
--
-- 2013/07/17  4.00.006  D-Link         1. Modify private MIB port description settings does not valid.
--                                      2. Modify DUT Private MIB DoS Prevention state settings rule is incorrect.
--                                      3. Modify DUT private MIB port description settings just support 25 ports not 28 ports.
--                                      4. Modify private MIB set ports MID/MIDX settings.
--                                      5. Add SSH user authentication hostbased IPv6 address object.
--
-- 2013/07/09  4.00.005  D-Link         1. Noted DUT Private MIB swAuthRadiusIPType value 1 and 2 mean IPv4 and IPv6 type.
--                                      2. Modify object range and description( bandwidthCtrlTxThreshold, 
--                                         bandwidthCtrlRxThreshold and broadcastStormCtrlThreshold ) .
--                                      3. Modify private MIB port description settings does not valid.
--                                      4. Modify object description for SSH.
--
-- 2013/07/05  4.00.004  D-Link         1. Remove IPV6 traffic class and TCP/UDP port of QOS object.
--                                      2. Add the Priority and replace priorityaction at ACL MIB object.
--                                      3. Remove old "obsolete" OID from Smart5 private MIB, 
--                                         because this is a new model should not exist "obsolete" OID.
--
-- 2013/06/07  4.00.003  D-Link         1. Fix the DUT Private MIB DoS Prevention Settings does not valid.
--                                         The private MIB cannot set/get.
-- 
-- 2013/05/27  4.00.002  D-Link         1. Fix the DUT SNMPwalk cannot get all private MIB OID value.
--
-- 2013/05/10  4.00.001  D-Link         Initial version.
-- 
-- -------------------------- Revision End -------------------------------------

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

        DGS-1210-52_CX DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE,
   enterprises, IpAddress, Integer32, Unsigned32, TimeTicks, Counter32
                                                  FROM SNMPv2-SMI
   InetAddress                                    FROM INET-ADDRESS-MIB
   InterfaceIndex,InterfaceIndexOrZero,ifIndex
                                                  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
   AddressFamilyNumbers                           FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB;


    d-link						OBJECT IDENTIFIER ::= { enterprises 171 }
    dlink-products				OBJECT IDENTIFIER ::= { d-link 10 }
    dlink-DGS12XXSeriesProd	    OBJECT IDENTIFIER ::= { dlink-products 76}
    dgs-1210-52			OBJECT IDENTIFIER ::= { dlink-DGS12XXSeriesProd 22 }  
    dgs-1210-52cx					OBJECT IDENTIFIER ::= { dgs-1210-52 1}      


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

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


BridgeId ::= TEXTUAL-CONVENTION
     STATUS  current
     DESCRIPTION
           "The Bridge-Identifier as used in the
           Spanning Tree
           Protocol to uniquely identify a bridge.  Its first two
           octets (in network byte order) contain a priority
           value and its last 6 octets contain the MAC address
           used to refer to a bridge in a unique fashion
           (typically, the numerically smallest MAC address
           of all ports on the bridge).
           Several objects in this MIB module represent values of
           timers used by the Spanning Tree Protocol.  In this
           MIB, these timers have values in units of hundreths of
           a second (i.e. 1/100 secs).
           These timers, when stored in a Spanning Tree Protocol's
           BPDU, are in units of 1/256 seconds.  Note, however,
           that 802.1D-1990 specifies a settable granularity of
           no more than 1 second for these timers.  To avoid
           ambiguity, a data type is defined here as a textual
           convention and all representation of these timers
           in this MIB module are defined using this data type.  An
           algorithm is also defined for converting between the
           different units, to ensure a timer's value is not                                  distorted by multiple conversions."
     SYNTAX          OCTET STRING (SIZE (8))

Timeout ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d4"
     STATUS       current
     DESCRIPTION
           "A STP timer in units of 1/100 seconds

            To convert a Timeout value into a value in units of
            1/256 seconds, the following algorithm should be used:

                 b  = floor( (n * 256) / 100)

            where:
                 floor   =  quotient [ignore remainder]
                 n is the value in 1/100 second units
                 b is the value in 1/256 second units
                                                                                               To convert the value from 1/256 second units back to
            1/100 seconds, the following algorithm should be used:

                 n = ceiling( (b * 100) / 256)

            where:
                  ceiling =  quotient [if remainder is 0], or
                             quotient + 1 [if remainder is non-zero]
                  n is the value in 1/100 second units
                  b is the value in 1/256 second units

             Note: it is important that the arithmetic operations are
             done in the order specified (i.e., multiply first, divide
             second)."
     SYNTAX       INTEGER

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

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

Ipv6Address ::= TEXTUAL-CONVENTION
	DISPLAY-HINT "2x:"
	STATUS       current
	DESCRIPTION
		"This data type is used to model IPv6 addresses.
		This is a binary string of 16 octets in network
		byte-order."
	SYNTAX       OCTET STRING (SIZE (16))

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

      companySystem           OBJECT IDENTIFIER ::= { dgs-1210-52cx 1 }
      companyIpifGroup            OBJECT IDENTIFIER ::= { dgs-1210-52cx 2 } 
      companyTftpGroup            OBJECT IDENTIFIER ::= { dgs-1210-52cx 3 }
      companyMiscGroup            OBJECT IDENTIFIER ::= { dgs-1210-52cx 4 }
      companyRSTP                 OBJECT IDENTIFIER ::= { dgs-1210-52cx 6 }
      companyDot1qVlanGroup       OBJECT IDENTIFIER ::= { dgs-1210-52cx 7 }      
      companyLA                   OBJECT IDENTIFIER ::= { dgs-1210-52cx 8 }
      companyStaticMAC   	      OBJECT IDENTIFIER ::= { dgs-1210-52cx 9 }          
      companyIgsGroup             OBJECT IDENTIFIER ::= { dgs-1210-52cx 10 }
      companyQoSGroup             OBJECT IDENTIFIER ::= { dgs-1210-52cx 12 }
      companyTrafficMgmt          OBJECT IDENTIFIER ::= { dgs-1210-52cx 13 }
      companySecurity             OBJECT IDENTIFIER ::= { dgs-1210-52cx 14 }
      companyACLGroup             OBJECT IDENTIFIER ::= { dgs-1210-52cx 15 }
      companySyslog               OBJECT IDENTIFIER ::= { dgs-1210-52cx 16 } 
	  companyLBD                  OBJECT IDENTIFIER ::= { dgs-1210-52cx 17 }        
      companyMirror             OBJECT IDENTIFIER ::= { dgs-1210-52cx 18 }
      companySNTPSetting          OBJECT IDENTIFIER ::= { dgs-1210-52cx 20 }
      companyVoiceVlan                   OBJECT IDENTIFIER ::= { dgs-1210-52cx 21 }
      companyAuthGroup           OBJECT IDENTIFIER ::= { dgs-1210-52cx 23 }
      companyLLDPSetting	      OBJECT IDENTIFIER ::= { dgs-1210-52cx 24 }
      companySNMPV3                 OBJECT IDENTIFIER ::= { dgs-1210-52cx 25 }
      companyAutoSurveillanceVlan                   OBJECT IDENTIFIER ::= { dgs-1210-52cx 26 }
      companyTraps	      OBJECT IDENTIFIER ::= { dgs-1210-52cx 27 }
      companyGreenSetting	        OBJECT IDENTIFIER ::= { dgs-1210-52cx 31 }
      companyTimeRangeMgmt                   OBJECT IDENTIFIER ::= { dgs-1210-52cx 32 }
      companyStaticMcast           OBJECT IDENTIFIER ::= { dgs-1210-52cx 35 }
      companyCableDiagnostic             OBJECT IDENTIFIER ::= { dgs-1210-52cx 37 }
      companyRMON                 OBJECT IDENTIFIER ::= { dgs-1210-52cx 47 }
      companyNeighbor   	      OBJECT IDENTIFIER ::= { dgs-1210-52cx 50 }          
      companydot3azEEE             OBJECT IDENTIFIER ::= { dgs-1210-52cx 52 }
      companyDHCPRelay            OBJECT IDENTIFIER ::= { dgs-1210-52cx 61 }
      companyDHCPLocalRelay       OBJECT IDENTIFIER ::= { dgs-1210-52cx 62 }
      companyDHCPv6Relay          OBJECT IDENTIFIER ::= { dgs-1210-52cx 63 }
      companyMldsGroup             OBJECT IDENTIFIER ::= { dgs-1210-52cx 88 }
      companyDoSCtrl             OBJECT IDENTIFIER ::= { dgs-1210-52cx 99 }

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

    -- ------------------------------------------------------------------ 
    -- 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 }    
      
    sysSystemPassword  OBJECT-TYPE
       SYNTAX      DisplayString (SIZE(1..20))
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "This object is used to set System Password, 
          The following characters are allowed to input:
          semicolon, question mark, space, and double quotation mark."
       ::= { companySystem 7 }
 
    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      TruthValue
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
          "This object is used to save Configuration."
       DEFVAL  { false } 
       ::= { 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 }
           ::= { sysPortCtrlTable 1 }
           
        SysPortCtrlEntry ::= 
           SEQUENCE { 
              sysPortCtrlIndex 
                 Integer32, 
              sysPortCtrlSpeed
                 INTEGER, 
              sysPortCtrlOperStatus
                 INTEGER,
              sysPortCtrlMDI
                 INTEGER, 
              sysPortCtrlFlowControl
                 INTEGER,
              sysPortCtrlFlowControlOper  
                 INTEGER,
              sysPortCtrlType  
                 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 }
                
        sysPortCtrlSpeed OBJECT-TYPE 
           SYNTAX      INTEGER {
                         rate1000MFull  (1),
                         rate100MFull   (2),
                         rate100MHalf   (3),
                         rate10MFull    (4),
                         rate10MHalf    (5),
                         auto            (6),
                         disable         (7)
                      }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Configures interface speed."
        
           ::= { sysPortCtrlEntry 2 }
        
        sysPortCtrlOperStatus OBJECT-TYPE 
           SYNTAX      INTEGER {
                         down            (1),
                         rate1000MFull  (2),
                         rate100MFull   (3),
                         rate100MHalf   (4),
                         rate10MFull    (5),
                         rate10MHalf    (6)
                      }
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The port's operating speed state."
        
           ::= { sysPortCtrlEntry 3 }
        
        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 4 }
        
        sysPortCtrlFlowControl OBJECT-TYPE 
           SYNTAX      INTEGER {
                         enable     (1),
                         disable    (2)
                      }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Enables / disables flow control for the interface."
        
           ::= { sysPortCtrlEntry 5 }

        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 6 }
            
        sysPortCtrlType OBJECT-TYPE
            SYNTAX INTEGER {
                   fastethernet(1),
                   gigabitethernet(2),
                   fiberwith100BaseSFPModule(3),
                   fiberwith1000BaseSFPModule(4)
            }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The port's media type."
            ::= { sysPortCtrlEntry 7 }    
        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 14 }

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

-- start Port Description 
        sysPortDescriptionTable OBJECT-TYPE
           SYNTAX      SEQUENCE OF SysPortDescriptionEntry
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The port description table."
           ::= { companySystem 16 }

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

        SysPortDescriptionEntry ::=
           SEQUENCE {
              sysPortDescIndex
                 INTEGER,
              sysPortDescString
                 DisplayString
           }

        sysPortDescIndex OBJECT-TYPE
           SYNTAX      INTEGER (1..255)
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "This object indicates the port index."
           ::= { sysPortDescriptionEntry 1 }
                         
        sysPortDescString OBJECT-TYPE
           SYNTAX       DisplayString(SIZE(0..32))
           MAX-ACCESS   read-write
           STATUS       current
           DESCRIPTION
               "This object indicates the port description."
           ::= { sysPortDescriptionEntry 2 }
-- end Port Description 

        sysDdp  OBJECT IDENTIFIER ::= { companySystem 30 }
        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 }

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

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


 -- ----------------------------------------------------------
 -- 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 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index for which the configuration in this 
               entry applies."
           ::= { 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       
        -- -------------------------------------------------------------------------
       
	dhcpOption12Status  OBJECT-TYPE
       SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "Status of DHCP Option12"
       ::= { companyIpifGroup 6 }
       
	dhcpOption12HostName  OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
          "Host name in DHCP option 12.
           The acceptable beginning of DHCP hostname is letter."
       ::= { companyIpifGroup 7 }


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

      ipifSupportV4V6Info         OBJECT IDENTIFIER ::= { companyIpifGroup 5 }

       sysIpAddrCfgMode OBJECT-TYPE 
       SYNTAX      INTEGER {
                    manual(1),
                    dhcp(2),
                    bootp(3)
                   }
       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 }

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

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

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

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

      ipifv6NSRetransmitTime OBJECT-TYPE
        SYNTAX              INTEGER (1..3600)
        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."
        ::= { ipifSupportV4V6Info 10 }

      ipifv6DefaultGateway OBJECT-TYPE
        SYNTAX              Ipv6Address
        MAX-ACCESS          read-create
        STATUS              current
        DESCRIPTION
            "The ipv6 default gateway that you want this interface to be in. 
            To delete gateway, please insert address 
            '0000:0000:0000:0000:0000:0000:0000:0000'."
        ::= { ipifSupportV4V6Info 11 }
 
    -- ---------------------------------------------------------------------    
    -- ---------------------------------------------------------------------   

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

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


        -- -------------------------------------------------------------------------
        -- companyTftpGroup
        -- -------------------------------------------------------------------------
             
    	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 }    	
             
    	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 {
              		 none(0),
                     download(1),
                     upload(2),
                     progressing(3)
              }
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                  "The tftp operates to perform either downloading the
  		           configuration file to the unit or uploading the current
  		           configuration file to the tftp server. This object is
  		           used in conjunction with configTftpServerIpAddress
  		           and configTftpServerFileName."
              ::= { 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 }    	

        -- -------------------------------------------------------------------------
        -- 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, 
              impbInsIpPacPortState 
                 INTEGER,
              impbDHCPPortState   
                 INTEGER             
          }
        
               
         impbPortIndex OBJECT-TYPE 
           SYNTAX      INTEGER 
           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 }
        
        
        impbInsIpPacPortState OBJECT-TYPE
           SYNTAX INTEGER  {
        		  enabled (1), disabled (0)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Enable / disable IP-MAC-Port Binding also inspect IP packets state for the interface."
        
           ::= { impbSettingEntry 3 }
           
           
         impbDHCPPortState 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 } 
           
    impbSmartTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF ImpbSmartEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control Smart IP-MAC-Port Binding features of the device."
        ::= { securityIpMacPortBinding 2 }
        
    impbSmartEntry OBJECT-TYPE
        SYNTAX ImpbSmartEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry appears in Smart IP-MAC-Port Binding table for each interface 
 	        in the system."
        INDEX { impbSmartMacAddress, impbSmartPort, impbSmartIpAddress}
        ::= { impbSmartTable 1 }
  
    ImpbSmartEntry ::= 
           SEQUENCE { 
              impbSmartMacAddress 
                 MacAddress, 
              impbSmartPort   
                 Integer32,
              impbSmartIpAddress 
                 Ipv6Address,
              impbSmartVlanId 
                 Integer32, 
              impbSmartBinding   
                 INTEGER             
          }
           
         impbSmartMacAddress OBJECT-TYPE 
           SYNTAX      MacAddress 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address associated of the smart IP-MAC-PORT Binding entry."
           ::= { impbSmartEntry 1 } 
         
         impbSmartPort OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The port number of the smart IP-MAC-PORT Binding entry."
           ::= { impbSmartEntry 2 }
                      
         impbSmartIpAddress OBJECT-TYPE 
           SYNTAX      Ipv6Address 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP address associated of the smart IP-MAC-PORT Binding entry."      
           DEFVAL { '00000000'H } 
           ::= { impbSmartEntry 3 } 
           
         impbSmartVlanId OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The VLAN ID of the smart IP-MAC-PORT Binding entry."
           ::= { impbSmartEntry 4 }  
           
         impbSmartBinding OBJECT-TYPE 
           SYNTAX INTEGER  {
        		  disabled (0), enabled (1)
            } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "Disable / enable IP-MAC-Port Binding for the interface."
           ::= { impbSmartEntry 5 }
           
    impbWhiteListTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF ImpbWhiteListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control Manual IP-MAC-Port Binding white list features of the device."
        ::= { securityIpMacPortBinding 3 }
        
    impbWhiteListEntry OBJECT-TYPE
        SYNTAX ImpbWhiteListEntry
        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 { impbWhiteListIpAddress, impbWhiteListMacAddress }
        ::= { impbWhiteListTable 1 }
  
    ImpbWhiteListEntry ::= 
           SEQUENCE { 
              impbWhiteListIpAddress 
                 DisplayString,
              impbWhiteListMacAddress 
                 MacAddress, 
              impbWhiteListPort   
                 Integer32,
              impbWhiteListRowStatus   
                 RowStatus             
          }       
          
         impbWhiteListIpAddress 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 }
           ::= { impbWhiteListEntry 1 } 
            
         impbWhiteListMacAddress 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."
           ::= { impbWhiteListEntry 2 } 
           
         impbWhiteListPort OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
              "The port number of the Manual IP-MAC-PORT Binding white list entry."
           ::= { impbWhiteListEntry 3 } 
           
         impbWhiteListRowStatus OBJECT-TYPE
            SYNTAX      RowStatus
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                "The status of a row in impbWhiteListTable. By setting this object, new
                entries can be created in impbWhiteListTable and existing entries can be
                removed from impbWhiteListTable. It can be used as specified in the SNMP
                v2 standard."
            ::= { impbWhiteListEntry 4 } 

    impbBlackListTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF ImpbBlackListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table to control IP-MAC-Port Binding black list of the device."
        ::= { securityIpMacPortBinding 4 }
        
    impbBlackListEntry OBJECT-TYPE
        SYNTAX ImpbBlackListEntry
        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 { impbBlackListMacAddress, impbBlackListVlanId, impbBlackListPort }
        ::= { impbBlackListTable 1 }
  
    ImpbBlackListEntry ::= 
           SEQUENCE { 
              impbBlackListMacAddress 
                 MacAddress, 
              impbBlackListVlanId 
                 Integer32, 
              impbBlackListPort   
                 Integer32,
              impbBlackListIpAddress 
                 DisplayString,
              impbBlackListStatus   
                 INTEGER             
          }
          
        impbBlackListMacAddress OBJECT-TYPE 
           SYNTAX      MacAddress 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The MAC address associated of the IP-MAC-PORT Binding black list entry."
           ::= { impbBlackListEntry 1 } 
         
         impbBlackListVlanId OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The VLAN ID of the IP-MAC-PORT Binding black list entry."
           ::= { impbBlackListEntry 2 }
           
         impbBlackListPort OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
              "The port number of the IP-MAC-PORT Binding black list entry."
           ::= { impbBlackListEntry 3 } 
           
         impbBlackListIpAddress OBJECT-TYPE 
           SYNTAX      DisplayString 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The IP address associated of the IP-MAC-PORT Binding black list entry."
           ::= { impbBlackListEntry 4 } 
           
         impbBlackListStatus OBJECT-TYPE
            SYNTAX      INTEGER {
        		  nothing (0), deleted (1)
            }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "nothing/delete IP-MAC-Port Binding for the interface."
            ::= { impbBlackListEntry 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 }
         
        -- ----------------------------------------------------------------
        -- The RSTP group
        -- ----------------------------------------------------------------
        stpGlobal  OBJECT IDENTIFIER ::= { companyRSTP 1 }
        
        rstpStatus OBJECT-TYPE
           SYNTAX   INTEGER { 
                        enabled(1), 
                        disabled(2) 
                    }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "The administrative module status requested by management for the RSTP
              Module. This enables or disables RSTP in the system. A value of 'enabled'
              (1) indicates that RSTP must be enabled in the device on all the ports.
              A value of 'disabled'(2) indicates that RSTP must be disabled in the
              device on all the ports."
           ::= {stpGlobal 1 }
   
        stpVersion OBJECT-TYPE
           SYNTAX      INTEGER {
                           stpCompatible(0),
                           rstp(2)
                       }
           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.  New value may
                be defined as future versions of the protocol become
                available."
           REFERENCE
               "IEEE 802.1D-2004"
           DEFVAL      { rstp }
           ::= { stpGlobal 2 }
        
        stpPriority OBJECT-TYPE
           SYNTAX  INTEGER (0..61440)
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "The bridge priority vector, as defined in 17.6. The first 
             (RootBridgeID) and third (DesignatedBridgeID)components are
             both equal to the value of the Bridge Identifier (17.18.2).
             The other components are zero. Permissible values are 0-61440,
             in steps of 4096."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 3 }         

        
        stpTxHoldCount OBJECT-TYPE
           SYNTAX      INTEGER (1..10)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "The value used by the Port Transmit state machine to limit
                the maximum transmission rate."
           REFERENCE
               "IEEE 802.1D-2004"
           DEFVAL      { 6 }
           ::= { stpGlobal 4 }      
                
        stpProtocolSpecification OBJECT-TYPE
           SYNTAX  INTEGER {
                       unknown(1),
                       decLb100(2),
                       ieee8021d(3)
                   }
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "An indication of what version of the Spanning
             Tree Protocol is being run.  The value
             'decLb100(2)' indicates the DEC LANbridge 100
             Spanning Tree protocol.  IEEE 802.1d
             implementations will return 'ieee8021d(3)'.  If
             future versions of the IEEE Spanning Tree Protocol
             are released that are incompatible with the
             current version a new value will be defined."
           ::= { stpGlobal 5 }

        
        stpTimeSinceTopologyChange OBJECT-TYPE
           SYNTAX  TimeTicks
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The time (in hundredths of a second) since the
             last time a topology change was detected by the
             bridge entity."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 6 }
        
        stpTopChanges OBJECT-TYPE
           SYNTAX  Counter32
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The total number of topology changes detected by
             this bridge since the management entity was last
             reset or initialized."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 7 }
        
        stpDesignatedRoot OBJECT-TYPE
           SYNTAX  BridgeId
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The bridge identifier of the root of the spanning
             tree as determined by the Spanning Tree Protocol
             as executed by this node.  This value is used as
             the Root Identifier parameter in all Configuration
             Bridge PDUs originated by this node."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 8 }
        
        stpRootCost OBJECT-TYPE
           SYNTAX  INTEGER
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The cost of the path to the root as seen from
             this bridge."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 9 }
        
        stpRootPort OBJECT-TYPE
           SYNTAX  INTEGER
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The port number of the port which offers the
             lowest cost path from this bridge to the root
             bridge."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 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. The rootTimes variable comprises the 
             Bridges operational timer parameter values 
             (Message Age, Max Age, Forward Delay, and 
             Hello Time), derived from the values stored in 
             portTimes (17.19.22) for the Root Port or from 
             BridgeTimes (17.18.4)."
                   
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 11 }
        
        stpHelloTime OBJECT-TYPE
           SYNTAX  Timeout
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The amount of time between the transmission of
             Configuration bridge PDUs by this node on any port
             when it is the root of the spanning tree or trying
             to become so, in units of hundredths of a second.
             The interval between periodic transmissions of 
             Configuration Messages by Designated Ports 
             (Table 17-1)."
                          
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 12 }
        
        stpHoldTime OBJECT-TYPE
           SYNTAX  INTEGER
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "This time value determines the interval length
             during which no more than two Configuration bridge
             PDUs shall be transmitted by this node, in units
             of hundredths of a second."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 13 }
        
        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 each of the Listening and Learning
             states, which precede the Forwarding state.  This
             value is also used, when a topology change has
             been detected and is underway, to age all dynamic
             entries in the Forwarding Database.
             The delay used by STP Bridges (17.4) to transition 
             Root and Designated Ports to Forwarding 
             (Table 17-1)."
             
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 14 }
        
        stpBridgeMaxAge OBJECT-TYPE
           SYNTAX  Timeout (600..4000)
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "The Max Age component of designatedTimes (17.19.5).
             This time value, measured in units of hundredths
             of a second. BridgeTimes comprises four componentsXthe 
             current values of Bridge Forward Delay, Bridge Hello Time,
             and Bridge Max Age (17.13, Table 17-1), and a Message Age 
             of zero."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 15 }
        
        stpBridgeHelloTime OBJECT-TYPE
           SYNTAX  Timeout (100..1000)
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "The Hello Time component of designatedTimes (17.19.5).
             This time value, measured in units of hundredths
             of a second. BridgeTimes comprises four componentsXthe 
             current values of Bridge Forward Delay, Bridge Hello Time,
             and Bridge Max Age (17.13, Table 17-1), and a Message Age 
             of zero."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 16 }
        
        stpBridgeForwardDelay OBJECT-TYPE
           SYNTAX  Timeout (400..3000)
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "The Forward Delay component of designatedTimes (17.19.5).
             This time value, measured in units of hundredths
             of a second. BridgeTimes comprises four componentsXthe 
             current values of Bridge Forward Delay, Bridge Hello Time,
             and Bridge Max Age (17.13, Table 17-1), and a Message Age 
             of zero."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpGlobal 17 }        
          
           
     -- -------------------------------------
     -- 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."
           ::= { companyRSTP 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,
                  stpPortPriority
                     INTEGER,
                  stpPortState
                     INTEGER,
                  stpPortEnable
                     INTEGER,
                  stpAdminPortPathCost
                     INTEGER,
                  stpPortPathCost
                     INTEGER,
                  stpPortDesignatedRoot
                     BridgeId,
                  stpPortDesignatedCost
                     INTEGER,
                  stpPortDesignatedBridge
                     BridgeId,
                  stpPortDesignatedPort
                     OCTET STRING,
                  stpPortForwardTransitions
                     Counter32,
                  stpPortProtocolMigration
                      TruthValue,
                  stpPortOperEdgePort
                      TruthValue,
                  stpPortAdminPointToPoint
                      INTEGER,
                  stpPortOperPointToPoint
                      TruthValue,
                  stpPortEdge
                      INTEGER,
                  stpPortRestrictedRole 
                      TruthValue, 
                  stpPortRestrictedTCN 
                      TruthValue
        }
        
        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 Protocol management
             information."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 1 }

        
        stpPortPriority OBJECT-TYPE
           SYNTAX  INTEGER (0..240)
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "The value of the priority field which is
             contained in the first (in network byte order)
             octet of the (2 octet long) Port ID.  The other
             octet of the Port ID is given by the value of
             stpPort."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 2 }
        
        stpPortState OBJECT-TYPE
           SYNTAX  INTEGER {
                       disabled(1),
                       blocking(2),
                       listening(3),
                       learning(4),
                       forwarding(5),
                       broken(6)
                   }
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The port's current state as defined by
             application of the Spanning Tree Protocol.  This
             state controls what action a port takes on
             reception of a frame.  If the bridge has detected
             a port that is malfunctioning it will place that
             port into the broken(6) state.  For ports which
             are disabled (see stpPortEnable), this object
             will have a value of disabled(1)."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 3 }
        
        stpPortEnable OBJECT-TYPE
           SYNTAX  INTEGER {
                       enabled(1),
                       disabled(2)
                   }
           MAX-ACCESS  read-write
           STATUS  current
           DESCRIPTION
             "The enabled/disabled status of the port."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 4 }
        
        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 5 }
           
        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 spanning tree root which include
         	 this port."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 6 }
        
        stpPortDesignatedRoot OBJECT-TYPE
           SYNTAX  BridgeId
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The unique Bridge Identifier of the Bridge
             recorded as the Root in the Configuration BPDUs
             transmitted by the Designated Bridge for the
             segment to which the port is attached."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 7 }

        stpPortDesignatedCost OBJECT-TYPE

           SYNTAX  INTEGER
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The path cost of the Designated Port of the
             segment connected to this port.  This value is
             compared to the Root Path Cost field in received
             bridge PDUs."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 8 }
        
        stpPortDesignatedBridge OBJECT-TYPE
           SYNTAX  BridgeId
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The Bridge Identifier of the bridge which this
             port considers to be the Designated Bridge for
             this port's segment."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 9 }
        
        stpPortDesignatedPort OBJECT-TYPE
           SYNTAX  OCTET STRING (SIZE (2))
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The Port Identifier of the port on the Designated
             Bridge for this port's segment."
           REFERENCE
             "IEEE 802.1D-2004"
           ::= { stpPortEntry 10 }

        stpPortForwardTransitions OBJECT-TYPE
           SYNTAX  Counter32
           MAX-ACCESS  read-only
           STATUS  current
           DESCRIPTION
             "The number of times this port has transitioned
             from the Learning state to the Forwarding state."
           ::= { stpPortEntry 11 }        

 
        stpPortProtocolMigration OBJECT-TYPE
           SYNTAX      TruthValue
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "When operating in RSTP (version 2) mode, writing TRUE(1)
                to this object forces this port to transmit RSTP BPDUs.
                Any other operation on this object has no effect and
                it always returns FALSE(2) when read."
           REFERENCE
               "IEEE 802.1D-2004"
           ::= { stpPortEntry 12 }
        
        stpPortOperEdgePort OBJECT-TYPE
           SYNTAX      TruthValue
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               "The operational value of the Edge Port parameter.  The
                object is initialized to the value of
                stpPortAdminEdgePort and is set FALSE on reception of
                a BPDU."
           REFERENCE
               "IEEE 802.1D-2004"
           ::= { stpPortEntry 13 }
        
        stpPortAdminPointToPoint 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."
           REFERENCE
               "IEEE 802.1D-2004"
           ::= { stpPortEntry 14 }
        
        stpPortOperPointToPoint OBJECT-TYPE
           SYNTAX      TruthValue
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
               "The operational point-to-point status of the LAN segment
                attached to this port.  It indicates whether a port is
                considered to have a point-to-point connection or not.
                The value is determined by management or by auto-detection,
                as described in the stpPortAdminPointToPoint object."
           REFERENCE
               "IEEE 802.1D-2004"
           ::= { stpPortEntry 15 }  
  
        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 16 }
        
        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 17 } 

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

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

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

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

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

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


  		-- ----------------------------------------------------------
		-- 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   { dot1qVlanName }
            ::= { dot1qVlanTable 1 }
        
        Dot1qVlanEntry ::=
            SEQUENCE {
                dot1qVlanName
                    SnmpAdminString,
                dot1qVlanEgressPorts
                    PortList,
                dot1qVlanUntaggedPorts
                    PortList,
                dot1qVlanRowStatus
                    RowStatus
            }
        
        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 1 }
        
        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 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 2 }

        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 4 }
        
        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 5 }
            
        -- -------------------------------------------------------------
        -- 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 { filter(1), forward(0) } 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "Filter unknown multicast frames or normal operation(i.e. forwarding)"
           ::= { dot1qVlanUngisterMCFilterEntry 2 } 

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

    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 }
        

    --
        -- 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,
            laPortActorActivity
                INTEGER,
            laPortActorTimeout
                INTEGER        
        }
        
        laPortControlIndex OBJECT-TYPE
          SYNTAX       InterfaceIndex
          MAX-ACCESS   read-only
                STATUS       current
                DESCRIPTION
              "The index of the port."
          ::= { laPortControlEntry 1 }    
        
        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
        -- ----------------------------------------------------------------
        
        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
            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
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The forwarding port of the static MAC entry."
            ::= { 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 }
    -- ---------------------------------------------------------------------
    -- IGMP Snooping Function
    -- ---------------------------------------------------------------------
	igsSystem  OBJECT IDENTIFIER ::= { companyIgsGroup 1 }
	igsVlan    OBJECT IDENTIFIER ::= { companyIgsGroup 3 }

      igsStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Enables or disables IGMP snooping in the system.
              When set to 'enabled', the IGS module starts 
              protocol operations.
              When set to 'disabled', the IGS module stops performing 
              protocol operations."
          DEFVAL  { 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 } 
            
      igsRobustnessValue 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 } 
          ::= { igsSystem 4 } 

      igsGrpQueryInterval 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 }
          ::= { igsSystem 5 }  

      igsQueryInterval 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 
              VLANs."   
          DEFVAL  { 125 } 
          ::= { igsSystem 6 } 

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

    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 8 } 
	        
-- 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 
             "An igs vlan router entry contain the igs vlan router port list." 
          INDEX { igsVlanRouterVlanId } 
          ::= { igsVlanRouterTable 1 } 
 
      IgsVlanRouterEntry ::= SEQUENCE { 
          igsVlanRouterVlanId             Integer32,
          igsVlanRouterPortList           PortList
      }
           
      igsVlanRouterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "It is the VLAN ID of the igs vlan router entry." 
           ::= { 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,
          igsVlanFastLeave              INTEGER
          } 

      igsVlanFilterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
            "Index of IgsVlanFilterEntry. This object indicates the VLAN ID for which 
            the snooping configurations in IgsVlanFilterEntry is to be done." 
           ::= { igsVlanFilterEntry 1 } 
 
      igsVlanSnoopStatus OBJECT-TYPE 
           SYNTAX      INTEGER { enabled(1), disabled(2) } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "This object allows you to enable/disable IGS function on a specific VLAN."  
           DEFVAL  { 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-only 
          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 } 

      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 }


    -- 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 } 
    -- ---------------------------------------------------------------------
    -- MLD Snooping Function
    -- ---------------------------------------------------------------------
	mldsSystem  OBJECT IDENTIFIER ::= { companyMldsGroup 1 }
	mldsVlan    OBJECT IDENTIFIER ::= { companyMldsGroup 3 }

      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 } 
            
      mldsRobustnessValue 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 } 
          ::= { mldsSystem 4 } 

      mldsGrpQueryInterval 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 }
          ::= { mldsSystem 5 }  

      mldsQueryInterval 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 
              VLANs."   
          DEFVAL  { 125 } 
          ::= { mldsSystem 6 } 

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

-- 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
          , mldsVlanFastLeave            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-only 
          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 } 

      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 }


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

    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 }

    swAuthCtrlPktFwdMode OBJECT-TYPE
        SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
        }
        MAX-ACCESS 			read-write
        STATUS              current
        DESCRIPTION
        "Enable/Disable 802.1x packet forward while 802.1x module is disabled."
        ::= { swAuthenCtrl 4 }

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

-- -----------------------------------------------------------------------------
-- 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 {
                            iPv4            (1),
                            iPv6	        (2)
                        }
        MAX-ACCESS                          read-write
        STATUS                              current
        DESCRIPTION
            "The IP address of the RADIUS server IP type
                referred to in this table entry."
        DEFVAL { 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
    -- ------------------------------------------------------------------

	qosMode  OBJECT-TYPE
        SYNTAX INTEGER {
           dot1p(1),
           dscp(2),
           tos(3)
        }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "Settings of Qos mode:
              IEEE 802.1p QoS or 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. 
           "
        ::= { companyQoSGroup 1 }

    queuingMechanism       OBJECT-TYPE
        SYNTAX INTEGER {
            strictPriority(1),
            wrr(2)
        }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
           "Queuing mechanism.
                 strictPriority(1) : Strict Priority
                 wrr(2)            : Weighted Round Robin
            Strict-priority scheduling is implemented with a special strict-priority scheduler node that is stacked directly above the port. Queues stacked on top of the strict-priority scheduler node always get bandwidth before other queues.
            Weighted round-robin scheduling is designed to better handle queues with different processing capacities. Each queue has a weight : Low is 1, Medium is 2, High is 4 and Highest is 8 for WS4 spec. Queues with higher weights get bandwidth before than other queues with less weights.
           "
        ::= { companyQoSGroup 2 }
    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------ 
    qosQ1p     OBJECT IDENTIFIER ::= { companyQoSGroup 3 }
    
    dot1pPortTable     OBJECT-TYPE
        SYNTAX SEQUENCE OF Dot1pPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of 802.1p port default priority Entries."
        ::= { qosQ1p 1 }
        
    dot1pPortEntry OBJECT-TYPE
        SYNTAX Dot1pPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of 802.1p port default priority priorities."
        INDEX { dot1pPortIndex }
        ::= { dot1pPortTable 1 }
        
    Dot1pPortEntry ::= SEQUENCE {
        dot1pPortIndex                 INTEGER,
        dot1pPortPriority              INTEGER
    }
    
    dot1pPortIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "A port identifier that is in the range of 1 to ifNumber."
        ::= { dot1pPortEntry 1 }
        
    dot1pPortPriority OBJECT-TYPE
        SYNTAX INTEGER (0..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.
         For ingress tagged packets, D-Link Smart Switches will refer
         to their 802.1p information and prioritize them with 8
         different priority queues. "
        ::= { dot1pPortEntry 2 }    

    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------
    qosDiffServ     OBJECT IDENTIFIER ::= { companyQoSGroup 4 }
    
    qosDiffServEnable OBJECT-TYPE
        SYNTAX  INTEGER {
               enable(1),    
               disable(2) 
    	} 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Display the DSCP(Differentiated services) function Enabled or Disabled. 
           Notice : DiffServ Type is 2~7 bits in the TOS field. ex: If the DiffServ Type = 000011(3), 
           the value in TOS field is 00001100(12) "
        ::= { qosDiffServ  1 }
        
    qosDiffServTypeGroup OBJECT IDENTIFIER ::= { qosDiffServ 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 }  


    -- ------------------------------------------------------------------ 
    -- QoS
    -- ------------------------------------------------------------------
    qosTOS     OBJECT IDENTIFIER ::= { companyQoSGroup 5 }
    
    qosTOSEnable OBJECT-TYPE
        SYNTAX  INTEGER {
               enable(1),    
               disable(2) 
    	} 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Display the TOS(Type of services) function Enabled or Disabled."
        ::= { qosTOS  1 }
        
    qosTOSGroup OBJECT IDENTIFIER ::= { qosTOS 2 }
    
    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 }
 		-- ----------------------------------------------------------
		-- 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             
          }
        
        bandwidthCtrlIndex OBJECT-TYPE 
           SYNTAX      Integer32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index for which the configuration in this 
               entry applies."
           ::= { bandwidthCtrlEntry 1 }
            
        bandwidthCtrlTxThreshold OBJECT-TYPE
        
           SYNTAX      Integer32 (0 | 64..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~1024000(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~1024000(Kbits per second) in FE 
               port,  64~1024000(Kbits per second) in GE port."
        
           ::= { bandwidthCtrlEntry 3}               


        -- Broadcast Storm Control Group --------------------------------------------- --
        
        -- Broadcast Storm Control
		broadcastStormCtrlSettings  OBJECT IDENTIFIER ::= { companyTrafficMgmt 3 }
		
        broadcastStormCtrlGlobalOnOff       OBJECT-TYPE 
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            MAX-ACCESS    read-write 
            STATUS        current
            DESCRIPTION 
           "This object indicates storm control function is enabled or disabled 
            for device.
            When you enable broadcast storm control function,  D-Link Smart 
            Switches will allowed you to limit the number of broadcast packets 
            per second going through device." 
            ::= { broadcastStormCtrlSettings 1 } 
		
        broadcastStormCtrlLimitType       OBJECT-TYPE 
            SYNTAX INTEGER  {
        		 broadcastonly(1),
        		 multicastAndbroadcast(2),
        		 dlfMulticastAndbroadcast(3)
            }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
                "This object indicates storm control function is control broadcast
                packet or multicast packet or dlf packet." 
           ::= { broadcastStormCtrlSettings 2 }

        broadcastStormCtrlThreshold       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 Kbits/sec that can be transmitted per second over this interface. 
               Setting this object to the value zero disables rate limiting on 
               this interface. The value that can be set for this object is 
               limited by the underlying hardware. The limit value must be between 
               64~1024000(Kbits per second) in FE port, 64~1024000(Kbits per second) 
               in GE port, and limit value is multiple of 64. 
               (Notice : if the limit value is 0, it means unlimited.)"
               
           DEFVAL  {0}
           ::= { broadcastStormCtrlSettings 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 }
    

    -- 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
             DisplayString,
          trustedHostIpMask
             DisplayString,
          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      DisplayString
       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      DisplayString
       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.
             IPv4 Trust Host created example: 
             1.4.IPv4 address.4.mask
             IPv6 Trust Host created example: 
             2.16.IPv6 address.1.prefix"
       ::= { trustedHostEntry 4 }
    
       

    securityARPSpoofPrevent        OBJECT IDENTIFIER ::= { companySecurity 3}

	-- aRPSpoofPrevent Control Table
	
	aRPSpoofPreventTable OBJECT-TYPE 
	   SYNTAX      SEQUENCE OF ARPSpoofPreventEntry 
	   MAX-ACCESS  not-accessible 
	   STATUS      current 
	   DESCRIPTION 
	      "A table to control ARP Spoofing prevention for the entire 
	       switch or for each interface in the switch."
	   ::= { securityARPSpoofPrevent 1 }
	
	aRPSpoofPreventEntry OBJECT-TYPE 
	   SYNTAX      ARPSpoofPreventEntry 
	   MAX-ACCESS  not-accessible 
	   STATUS      current 
	   DESCRIPTION 
	       "An entry appears in this table for each interface 
	        in the system."
	   INDEX { aRPSpoofPreventIpAddr }
	   ::= { aRPSpoofPreventTable 1 }
	
	ARPSpoofPreventEntry ::=
	   SEQUENCE {
	      aRPSpoofPreventIpAddr
	         IpAddress,
	      aRPSpoofPreventMacAddress
	         MacAddress,
	      aRPSpoofPreventPortList
	         PortList,
	      aRPSpoofPreventRowStatus
	         RowStatus   
	   }
	 
	 
	aRPSpoofPreventIpAddr 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'."
	   ::= { aRPSpoofPreventEntry 1 }
	
	
	aRPSpoofPreventMacAddress OBJECT-TYPE 
	   SYNTAX      MacAddress
	   MAX-ACCESS  read-write
	   STATUS      current 
	   DESCRIPTION 
	      "Ethernet Mac Address."
	      
	   DEFVAL  { '000102030405'h }
	   ::= { aRPSpoofPreventEntry 2 }
	
	aRPSpoofPreventPortList 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."
	   ::= { aRPSpoofPreventEntry 3 }
	
	aRPSpoofPreventRowStatus OBJECT-TYPE
	   SYNTAX      RowStatus
	   MAX-ACCESS  read-create
	   STATUS      current
	   DESCRIPTION
	      "This object indicates the status of this entry."
	   ::= { aRPSpoofPreventEntry 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 {
            rsa-null-md5(0),
            rsa-null-sha(1),
            rsa-des-sha(2),
            rsa-3des-sha(3),
            dh-rsa-des-sha(4),
            dh-rsa-3des-sha(5),
            rsa-exp1024-des-sha(6)
     }

      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..4)
	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-only
	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-only
	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-only
	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-only
	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,
	            sshUserInfoHostIpv6     Ipv6Address
	     } 
	
	    sshUserInfoID OBJECT-TYPE 
	       SYNTAX      Integer32
	       MAX-ACCESS  read-only 
	       STATUS      current 
	            DESCRIPTION
	                "The ssh user ID associated with the SSH user Info. entry (ID number of SSH user)."
	       ::= { 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 user 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 user 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.
			   Set '0.0.0.0' to disable SSH hostBased IP address check."
			::= { sshUserInfoEntry 5 }

		sshUserInfoHostIpv6  OBJECT-TYPE
			SYNTAX      Ipv6Address
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION 
			  "SSH HostBased IPv6 Address of the system.
			   Set '0000:0000:0000:0000:0000:0000:0000:0000' or empty string 
			   to disable SSH hostBased IPv6 address check."
			::= { sshUserInfoEntry 6 }

 -- ----------------------------------------------------------
 -- 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             
          }
        
               
         portSecIndex OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index for which the configuration in this 
               entry applies."
           ::= { 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}
 -- ----------------------------------------------------------
 -- The companyCableDiagnostic Groups
 -- ----------------------------------------------------------
 -- Cable Diagnostics Group --------------------------------------------- --

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

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

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

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

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

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

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

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

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

         cableDiagLengthinRange  OBJECT-TYPE 
           SYNTAX INTEGER  {
                  less50 (1),
                  from50to80 (2),
                  from80to100 (3),
                  from100to140 (4),
                  notAvailable (5)
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Cable diagnostics length when link up in speed 1G.
               (Display in range)"
           ::= {companyCableDiagnostic 10}
    -- ------------------------------------------------------------------ 
    -- companyACLGroup
    -- ------------------------------------------------------------------

-- ------------------------------------------------------------------
  -- companyACLGroup (15)
  -- ------------------------------------------------------------------

    aclProfile       OBJECT IDENTIFIER ::= { companyACLGroup 1 }

    aclProfileTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to ACL profile .
           "
       ::= { aclProfile 1 }

    aclProfileEntry OBJECT-TYPE
       SYNTAX      AclProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a ACL profile.
             Index to the table is ACL profile ID. "
       INDEX { aclProfileNo}
       ::= { aclProfileTable 1 }

    AclProfileEntry ::=
       SEQUENCE {
          aclProfileNo
             Integer32,
          aclProfileName
             SnmpAdminString,
          aclProfileType
             INTEGER,
          aclProfileRuleCount
             Integer32,
          aclProfileStatus
             RowStatus
      }

    aclProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The ACL Profile ID. The ID 1 to 50 is user-defined ACL,
           and the ID more than 50 is reserved for system-defined ACL.
           The user only allow to create user-defined ACL ID.
           And system-defined ACL is read only."
       ::= { aclProfileEntry 1 }

    aclProfileName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..20))
        MAX-ACCESS   read-write
        STATUS      current
        DESCRIPTION
            "An administratively assigned string, which may be used
            to identify the Profile."
        ::= { aclProfileEntry 2 }

    aclProfileType OBJECT-TYPE
       SYNTAX   INTEGER  {
                      l2 (1),
                      l3v4 (2),
                      l3v4Ext(13),
                      l3v6 (11)
                   }
       MAX-ACCESS   read-write
       STATUS      current
       DESCRIPTION
          "The ACL Profile type, possible value are
          l2      (1) - for MAC-based rule,
          l3v4    (2) - for IPv4-based rule,
          l3v4Ext (3) - for IPv4-Ext rule,
          l3v6    (4) - for IPv6-based rule.
          Note that only l2, l3 and l3v6 could be set by user,
          other is reserved for system to show information.
          "
       ::= { aclProfileEntry 3 }

    aclProfileRuleCount  OBJECT-TYPE
       SYNTAX   Integer32 (0..65535)
       MAX-ACCESS   read-only
       STATUS      current
       DESCRIPTION
          "The number of rules in this profile."
       ::= { aclProfileEntry 4 }

    aclProfileStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " This object indicates the status of this entry, can only be set to
             'createAndWait','active' and 'destroy'.
             When the value of the entry status is 'createAndWait', it could be
             set to 'active' only if the three values of aclProfileType,
             aclProfileMask and ProtocolType are not conflicted.
           "
       ::= { aclProfileEntry 14 }

    -- 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,
          aclL2RulePriority
             INTEGER,
          aclL2RuleReplacePriority
             INTEGER,
          aclL2RuleStatus
             RowStatus
      }

    aclL2AccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L2 Filter rule ID."
       ::= { 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.
          The aclL2EtherFrameType should be specified as ether-type."
       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-write
       STATUS      current
       DESCRIPTION
          "The MAC address Mask work for Destination MAC address."
       ::= { aclL2RuleEntry 8 }

    aclL2RuleSrcMacAddrMask OBJECT-TYPE
       SYNTAX      MacAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The MAC address Mask work for Source MAC address."
       ::= { aclL2RuleEntry 9 }

    aclL2RuleAction OBJECT-TYPE
       SYNTAX      INTEGER {
                      allow (1),
                      drop  (2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Specifies the action to be taken on the packet if the filter
          rule matches.
          If the action is 'allow', the packet will be forwarded according
          to the forwarding rules.
          If the action is 'drop', the packet will be discarded."
       DEFVAL  { allow }
       ::= { aclL2RuleEntry 10 }

    aclL2RulePriority OBJECT-TYPE
       SYNTAX      INTEGER (-1..7)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enter a priority value if you want to re-write the 802.1p user
           priority of a packet to the value entered in the Priority field,
           which meets the criteria specified previously in this command,
           before forwarding it on to the specified CoS queue.By Default, the value
           will be '-1', which means the rule don't care this condition."
       DEFVAL  { -1 }
       ::= { aclL2RuleEntry 12 }

    aclL2RuleReplacePriority OBJECT-TYPE
       SYNTAX      INTEGER {
                      enabled(1),
                      disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enable this option and manually enter the replacement value used
           to re-write the 802.1p user priority value entered in the Priority 
           field, which meets the criteria specified previously in this command, 
           before forwarding it on to the specified CoS queue. Otherwise, a packet 
           will have its incoming 802.1p user priority re-written to its original 
           value before being forwarded by the Switch."
       DEFVAL  { disabled }
       ::= { aclL2RuleEntry 13 }

     aclL2RuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclL2RuleEntry 99 }

    -- L3 Filter Group --------------------------------------------------

    aclL3v4Rule       OBJECT IDENTIFIER ::= { companyACLGroup 3 }

    aclL3v4RuleTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclL3v4RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to configure L3 filter rules in the system.
           "
       ::= { aclL3v4Rule 1 }

    aclL3v4RuleEntry OBJECT-TYPE
       SYNTAX      AclL3v4RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a L3 filter rule.
             Index to the table is L3 filter number. "
       INDEX { aclL3v4RuleProfileNo, aclL3v4RuleAccessID }
       ::= { aclL3v4RuleTable 1 }

    AclL3v4RuleEntry ::=
       SEQUENCE {
          aclL3v4RuleAccessID
             Integer32,
          aclL3v4RuleProfileNo
             Integer32,
          aclL3v4RuleDstIpAddr
             IpAddress,
          aclL3v4RuleSrcIpAddr
             IpAddress,
          aclL3v4RuleDstIpAddrMask
             IpAddress,
          aclL3v4RuleSrcIpAddrMask
             IpAddress,
          aclL3v4RuleAction
             INTEGER,
          aclL3v4RulePriority
             INTEGER,
          aclL3v4RuleReplacePriority
             INTEGER,
          aclL3v4RuleStatus
             RowStatus

      }

    aclL3v4RuleAccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L3 Filter rule ID."
       ::= { aclL3v4RuleEntry 1 }

    aclL3v4RuleProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Profile ID which this rule join."
       ::= { aclL3v4RuleEntry 2 }

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

    aclL3v4RuleSrcIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source IP address to be matched with the packet.
          The default value will be zero, which means the
          rule don't care this condition."

       DEFVAL  { '00000000'h }
       ::= { aclL3v4RuleEntry 4 }

    aclL3v4RuleDstIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Destination IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclL3v4RuleEntry 5 }

    aclL3v4RuleSrcIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Source IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclL3v4RuleEntry 6 }

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

    aclL3v4RulePriority OBJECT-TYPE
       SYNTAX      INTEGER (-1..7)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enter a priority value if you want to re-write the 802.1p user
           priority of a packet to the value entered in the Priority field,
           which meets the criteria specified previously in this command,
           before forwarding it on to the specified CoS queue.By Default, the value
           will be '-1', which means the rule don't care this condition."
       DEFVAL  { -1 }
       ::= { aclL3v4RuleEntry 9 }

    aclL3v4RuleReplacePriority OBJECT-TYPE
       SYNTAX      INTEGER {
                      enabled(1),
                      disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enable this option and manually enter the replacement value used
           to re-write the 802.1p user priority value entered in the Priority 
           field, which meets the criteria specified previously in this command, 
           before forwarding it on to the specified CoS queue. Otherwise, a packet 
           will have its incoming 802.1p user priority re-written to its original 
           value before being forwarded by the Switch."
       DEFVAL  { disabled }
       ::= { aclL3v4RuleEntry 10 }

    aclL3v4RuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclL3v4RuleEntry 99 }

    -- L3v4 Ext Filter Group --------------------------------------------------

    aclL3v4ExtRule       OBJECT IDENTIFIER ::= { companyACLGroup 4 }

    aclL3v4ExtRuleTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclL3v4ExtRuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to configure L3 filter rules in the system.
           "
       ::= { aclL3v4ExtRule 1 }

    aclL3v4ExtRuleEntry OBJECT-TYPE
       SYNTAX      AclL3v4ExtRuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a L3 filter rule.
             Index to the table is L3 filter number. "
       INDEX { aclL3v4ExtRuleProfileNo, aclL3v4ExtRuleAccessID }
       ::= { aclL3v4ExtRuleTable 1 }

    AclL3v4ExtRuleEntry ::=
       SEQUENCE {
          aclL3v4ExtRuleAccessID
             Integer32,
          aclL3v4ExtRuleProfileNo
             Integer32,
          aclL3v4ExtRuleProtocol
             INTEGER,
          aclL3v4ExtRuleICMPMessageType
             Integer32,
          aclL3v4ExtRuleICMPMessageCode
             Integer32,
          aclL3v4ExtRuleDstIpAddr
             IpAddress,
          aclL3v4ExtRuleSrcIpAddr
             IpAddress,
          aclL3v4ExtRuleDstIpAddrMask
             IpAddress,
          aclL3v4ExtRuleSrcIpAddrMask
             IpAddress,
          aclL3v4ExtRuleTcpUdpDstPort
             Integer32,
          aclL3v4ExtRuleTcpUdpSrcPort
             Integer32,
          aclL3v4ExtRuleTcpUdpDstPortMask
            OCTET STRING,
          aclL3v4ExtRuleTcpUdpSrcPortMask
            OCTET STRING,
          aclL3v4ExtRuleDscp
             Integer32,
          aclL3v4ExtRuleToS
             Integer32,
          aclL3v4ExtRuleIgmpType
             Integer32,
          aclL3v4ExtRuleProtocolId
             INTEGER,
          aclL3v4ExtRuleAction
             INTEGER,
          aclL3v4ExtRulePriority
             INTEGER,
          aclL3v4ExtRuleReplacePriority
             INTEGER,
          aclL3v4ExtRuleStatus
             RowStatus

      }

    aclL3v4ExtRuleAccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L3 Filter rule ID."
       ::= { aclL3v4ExtRuleEntry 1 }

    aclL3v4ExtRuleProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Profile ID which this rule join."
       ::= { aclL3v4ExtRuleEntry 2 }

    aclL3v4ExtRuleProtocol OBJECT-TYPE
       SYNTAX      INTEGER  {
                     none(0),
       				 icmp(1),
       				 igmp(2),
       				 tcp(6),
      				 udp(17),
      				 protocolid(24)
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of protocol to be checked against the packet."
       DEFVAL  { 0 }
       ::= { aclL3v4ExtRuleEntry 3 }

    aclL3v4ExtRuleICMPMessageType OBJECT-TYPE
       SYNTAX      Integer32 (-1..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
         " The message type to be checked against the packet. If the
          message type matches with the packet, then the packet will be
          dropped / allowed based on the action set in aclL3RuleAction.
          The default value is '-1',which means the rule don't care this
          condition.
          Some ICMP message types are:
               echoReply(0),
               destinationUnreachable(3),
               sourceQuench(4),
               redirect(5),
               echoRequest(8),
               timeExceeded(11),
               parameterProblem(12),
               timestampRequest(13),
               timestampReply(14),
               informationRequest(15),
               informationReply(16),
               addressMaskRequest(17),
               addressMaskReply (18),
          "
       DEFVAL  { -1 }
       ::= { aclL3v4ExtRuleEntry 4 }

    aclL3v4ExtRuleICMPMessageCode OBJECT-TYPE
       SYNTAX      Integer32 (-1..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The message code to be checked against the packet. If the
          packet matches with the message code, then the packet will
          be dropped / allowed based on the action set in aclL3RuleAction.
          The default value is '-1', which means the rule don't care this
          condition.
          Some ICMP message codes are :
               networkUnreachable(0),
               hostUnreachable(1),
               protocolUnreachable(2),
               portUnreachable(3),
               fragmentNeed(4),
               sourceRouteFail(5),
               destNetworkUnknown(6),
               destHostUnknown(7),
               srcHostIsolated(8),
               destNetworkAdminProhibited(9),
               destHostAdminProhibited(10),
               networkUnreachableTOS(11),
               hostUnreachableTOS(12),
          "
       DEFVAL   { -1 }
       ::= { aclL3v4ExtRuleEntry 5 }

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

    aclL3v4ExtRuleSrcIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source IP address to be matched with the packet.
          The default value will be zero, which means the
          rule don't care this condition."

       DEFVAL  { '00000000'h }
       ::= { aclL3v4ExtRuleEntry 7 }

    aclL3v4ExtRuleDstIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Destination IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclL3v4ExtRuleEntry 8 }

    aclL3v4ExtRuleSrcIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The IP subnet mask for Source IP address."

       DEFVAL  { 'FFFFFFFF'h }
       ::= { aclL3v4ExtRuleEntry 9 }

    aclL3v4ExtRuleTcpUdpDstPort OBJECT-TYPE
       SYNTAX      Integer32 (-1..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP destination port. The default value is -1,
          which means the rule don't care this condition."
       DEFVAL   { -1 }
       ::= { aclL3v4ExtRuleEntry 10 }

    aclL3v4ExtRuleTcpUdpSrcPort OBJECT-TYPE
       SYNTAX      Integer32 (-1..65535)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP source port. The default value is -1,
          which means the rule don't care this condition."
       DEFVAL   { -1 }
       ::= { aclL3v4ExtRuleEntry 11 }

    aclL3v4ExtRuleTcpUdpDstPortMask OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP Destination port Mask."
       ::= { aclL3v4ExtRuleEntry 12 }

    aclL3v4ExtRuleTcpUdpSrcPortMask OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP Source port Mask."
       ::= { aclL3v4ExtRuleEntry 13 }

    aclL3v4ExtRuleDscp		OBJECT-TYPE
    	SYNTAX		Integer32 (-1..63)
    	MAX-ACCESS	read-create
    	STATUS		current
    	DESCRIPTION
    		"The IP Dscp value to be checked against the packet.
            A default value is '-1', which means the rule don't
            care this condition.
            The aclL3RuleTos should be specified as dscp."
    	DEFVAL	{ -1 }
    	::= { aclL3v4ExtRuleEntry 20 }

    aclL3v4ExtRuleToS OBJECT-TYPE
       SYNTAX      Integer32 (-1..15)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The ToS value to be checked against the packet.
            A default value is '-1', which means the rule don't
            care this condition.
            The cmAclL3RuleTos should be specified as dscp."
       DEFVAL  { -1 }
       ::= { aclL3v4ExtRuleEntry 21 }

    aclL3v4ExtRuleIgmpType	 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 }
       ::= { aclL3v4ExtRuleEntry 22 }

    aclL3v4ExtRuleProtocolId OBJECT-TYPE
       SYNTAX      INTEGER
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Specifies the protocol id.
          The aclL3RuleProtocol should be specified as protocol-id."
       ::= { aclL3v4ExtRuleEntry 26 }

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

    aclL3v4ExtRulePriority OBJECT-TYPE
       SYNTAX      INTEGER (-1..7)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enter a priority value if you want to re-write the 802.1p user
           priority of a packet to the value entered in the Priority field,
           which meets the criteria specified previously in this command,
           before forwarding it on to the specified CoS queue.By Default, the value
           will be '-1', which means the rule don't care this condition."
       DEFVAL  { -1 }
       ::= { aclL3v4ExtRuleEntry 33 }

    aclL3v4ExtRuleReplacePriority OBJECT-TYPE
       SYNTAX      INTEGER {
                      enabled(1),
                      disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enable this option and manually enter the replacement value used
           to re-write the 802.1p user priority value entered in the Priority 
           field, which meets the criteria specified previously in this command, 
           before forwarding it on to the specified CoS queue. Otherwise, a packet 
           will have its incoming 802.1p user priority re-written to its original 
           value before being forwarded by the Switch."
       DEFVAL  { disabled }
       ::= { aclL3v4ExtRuleEntry 34 }

    aclL3v4ExtRuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclL3v4ExtRuleEntry 99 }

    -- L3 Filter Group --------------------------------------------------

    aclL3v6Rule       OBJECT IDENTIFIER ::= { companyACLGroup 5 }

    aclL3v6RuleTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF AclL3v6RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " A table to configure L3 ipv6 filter rules in the system."
       ::= { aclL3v6Rule 1 }

    aclL3v6RuleEntry OBJECT-TYPE
       SYNTAX      AclL3v6RuleEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Each entry in this table is a L3 ipv6 filter rule.
             Index to the table is L3 ipv6 filter number. "
       INDEX { aclL3v6RuleProfileNo, aclL3v6RuleAccessID }
       ::= { aclL3v6RuleTable 1 }

    AclL3v6RuleEntry ::=
       SEQUENCE {
          aclL3v6RuleAccessID
             Integer32,
          aclL3v6RuleProfileNo
             Integer32,
          aclL3v6RuleTrafficClass
             Integer32,
          aclL3v6RuleProtocol
             INTEGER,
          aclL3v6RuleProtocolId
             INTEGER,
          aclL3v6RuleTcpUdpDstPort
             Integer32,
          aclL3v6RuleTcpUdpSrcPort
             Integer32,
          aclL3v6RuleTcpUdpDstPortMask
            OCTET STRING,
          aclL3v6RuleTcpUdpSrcPortMask
            OCTET STRING,
          aclL3v6RuleICMPv6MessageType
             Integer32,
          aclL3v6RuleICMPv6MessageCode
             Integer32,
          aclL3v6RuleDstIpv6Addr
             Ipv6Address,
          aclL3v6RuleSrcIpv6Addr
             Ipv6Address,
          aclL3v6RuleDstIpv6AddrPrefixLen
             INTEGER,
          aclL3v6RuleSrcIpv6AddrPrefixLen
             INTEGER,            
          aclL3v6RuleAction
             INTEGER,
          aclL3v6RulePriority
             INTEGER,
          aclL3v6RuleReplacePriority
             INTEGER,
          aclL3v6RuleStatus
             RowStatus
      }

    aclL3v6RuleAccessID OBJECT-TYPE
       SYNTAX      Integer32 (1..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "L3 Filter rule ID."
       ::= { aclL3v6RuleEntry 1 }

    aclL3v6RuleProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (1..50)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The Profile ID which this rule join."
       ::= { aclL3v6RuleEntry 2 }

    aclL3v6RuleTrafficClass OBJECT-TYPE
       SYNTAX      Integer32 (-1..255)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The Traffic Class value to be checked against the packet.
            A default value is '-1', which means the rule don't
            care this condition."
       DEFVAL  { -1 }
       ::= { aclL3v6RuleEntry 3 }

    aclL3v6RuleProtocol OBJECT-TYPE
       SYNTAX      INTEGER  {
                     none(0),
       				 tcp(6),
      				 udp(17),
      				 protocolid(24),
      				 icmpv6(25)
--      				 ospfv3(26)
                    }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          " The type of protocol to be checked against the packet."
       DEFVAL  { 0 }
       ::= { aclL3v6RuleEntry 4 }

    aclL3v6RuleProtocolId OBJECT-TYPE
       SYNTAX      INTEGER
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Specifies the protocol id.
          The aclL3v6RuleProtocol should be specified as protocol-id."
       ::= { aclL3v6RuleEntry 5 }

    aclL3v6RuleTcpUdpDstPort 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 }
       ::= { aclL3v6RuleEntry 6 }

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

    aclL3v6RuleTcpUdpDstPortMask OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP Destination port Mask."
       ::= { aclL3v6RuleEntry 8 }

    aclL3v6RuleTcpUdpSrcPortMask OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The TCP / UDP Source port Mask."
       ::= { aclL3v6RuleEntry 9 }

    aclL3v6RuleICMPv6MessageType 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 }
       ::= { aclL3v6RuleEntry 10 }

    aclL3v6RuleICMPv6MessageCode 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 }
       ::= { aclL3v6RuleEntry 11 }

    aclL3v6RuleDstIpv6Addr OBJECT-TYPE
       SYNTAX      Ipv6Address
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Destination IPv6 address to be matched with the packet."
       ::= { aclL3v6RuleEntry 12 }

    aclL3v6RuleSrcIpv6Addr OBJECT-TYPE
       SYNTAX      Ipv6Address
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Source IPv6 address to be matched with the packet."
       ::= { aclL3v6RuleEntry 13 }

    aclL3v6RuleDstIpv6AddrPrefixLen OBJECT-TYPE
       SYNTAX      INTEGER
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The prefix length for Destination IPv6 address."
       DEFVAL  { 0 }
       ::= { aclL3v6RuleEntry 14 }

    aclL3v6RuleSrcIpv6AddrPrefixLen OBJECT-TYPE
       SYNTAX      INTEGER
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "The prefix length for Source IPv6 address."
       DEFVAL  { 0 }
       ::= { aclL3v6RuleEntry 15 }

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

    aclL3v6RulePriority OBJECT-TYPE
       SYNTAX      INTEGER (-1..7)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enter a priority value if you want to re-write the 802.1p user
           priority of a packet to the value entered in the Priority field,
           which meets the criteria specified previously in this command,
           before forwarding it on to the specified CoS queue.By Default, the value
           will be '-1', which means the rule don't care this condition."
       DEFVAL  { -1 }
       ::= { aclL3v6RuleEntry 92 }

    aclL3v6RuleReplacePriority OBJECT-TYPE
       SYNTAX      INTEGER {
                      enabled(1),
                      disabled(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Enable this option and manually enter the replacement value used
           to re-write the 802.1p user priority value entered in the Priority 
           field, which meets the criteria specified previously in this command, 
           before forwarding it on to the specified CoS queue. Otherwise, a packet 
           will have its incoming 802.1p user priority re-written to its original 
           value before being forwarded by the Switch."
       DEFVAL  { disabled }
       ::= { aclL3v6RuleEntry 93 }

    aclL3v6RuleStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
            "This object indicates the status of this entry. An entry is
            created in this table when this object is SET to 'createAndWait'.
            The entry in this table is used when the status of this object
            is SET 'active'. The entry in this table is not used when this
            object is SET 'notInService'. An entry created in this table is
            be deleted when this object is SET 'destroy'."
       ::= { aclL3v6RuleEntry 99 }

    -- Port Binding Group
    aclPortBindGroup   OBJECT IDENTIFIER ::= { companyACLGroup 6 }
    
    aclPortGroupTable OBJECT-TYPE 
       SYNTAX      SEQUENCE OF AclPortGroupEntry
       MAX-ACCESS  not-accessible 
       STATUS      current 
       DESCRIPTION 
           "A table to control the port group binding information of L2 Group, 
            L3v4 Group, and L3v6 Group"
       ::= { aclPortBindGroup 1 }
    
    aclPortGroupEntry OBJECT-TYPE 
       SYNTAX      AclPortGroupEntry
       MAX-ACCESS  not-accessible 
       STATUS      current 
       DESCRIPTION 
           "An entry appears in this table for each interface in the system.
       
           Index to the table is the interface index of the port."
    
       INDEX { aclPortIndex }
       ::= { aclPortGroupTable 1 }
       
    AclPortGroupEntry ::= 
       SEQUENCE { 
          aclPortIndex 
             Integer32, 
          aclPortL2ProfileNo
             Integer32, 
          aclPortL3v4ProfileNo
             Integer32,
          aclPortL3v6ProfileNo
             Integer32
      }
    
    aclPortIndex   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."
       
       ::= { aclPortGroupEntry 1 }

    aclPortL2ProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (0..50)
       MAX-ACCESS  read-write 
       STATUS      current
       DESCRIPTION
          "The L2 Profile ID which this port bind.
          zero means not configured."
       ::= { aclPortGroupEntry 2 }

    aclPortL3v4ProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (0..50)
       MAX-ACCESS  read-write 
       STATUS      current
       DESCRIPTION
          "The L3v4 Profile ID which this port bind.
          zero means not configured."
       ::= { aclPortGroupEntry 3 }            
        
    aclPortL3v6ProfileNo OBJECT-TYPE
       SYNTAX      Integer32 (0..50)
       MAX-ACCESS  read-write 
       STATUS      current
       DESCRIPTION
          "The L3v6 Profile ID which this port bind.
          zero means not configured."
       ::= { aclPortGroupEntry 4 }

    -- ACL Hardware Resource Status
    aclHWResourceStatus   OBJECT IDENTIFIER ::= { companyACLGroup 8 }
    
    aclHWResourceStatusTable OBJECT-TYPE 
       SYNTAX      SEQUENCE OF AclHWResourceStatusEntry
       MAX-ACCESS  not-accessible 
       STATUS      current 
       DESCRIPTION 
           "A table to display HW Resource Status."
       ::= { aclHWResourceStatus 1 }
    
    aclHWResourceStatusEntry OBJECT-TYPE 
       SYNTAX      AclHWResourceStatusEntry
       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 HW profile index of the ACL."
    
       INDEX { aclHWProfileIndex }
       ::= { aclHWResourceStatusTable 1 }
       
    AclHWResourceStatusEntry ::= 
       SEQUENCE {
          aclHWProfileIndex 
             Integer32,
          aclAccessListNo
             DisplayString, 
          aclResourceEntryCount
             Integer32
      }
    
    aclHWProfileIndex   OBJECT-TYPE 
       SYNTAX      Integer32 (1..6)
       MAX-ACCESS  read-only 
       STATUS      current 
       DESCRIPTION 
          "HW profile index of the ACL for the configuration
          in this entry applies."

       ::= { aclHWResourceStatusEntry 1 }

    aclAccessListNo OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The profile name in this HW profile index."
       ::= { aclHWResourceStatusEntry 2 }

    aclResourceEntryCount OBJECT-TYPE
       SYNTAX      Integer32 (0..128)
       MAX-ACCESS  read-only 
       STATUS      current
       DESCRIPTION
          "The number of entries in this HW profile index."
       ::= { aclHWResourceStatusEntry 3 }

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

        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 }

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

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

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

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

        snmpV3TrapLBD    OBJECT-TYPE
            SYNTAX INTEGER {
                enabled(1),
                disabled(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                ""
            ::= { snmpV3Trap 11 }
      	traps            OBJECT IDENTIFIER ::= { companyTraps 0 }
          topologyChange NOTIFICATION-TYPE
              OBJECTS { ifIndex } 
              STATUS  current
              DESCRIPTION
                      "AST_TOPOLOGY_CHG_TRAP_VAL."
              ::= { traps 4 }

          firmwareUpgradeSuccess NOTIFICATION-TYPE
              STATUS  current
              DESCRIPTION
                      "SNMP_FIRMUPGRADE_SUCC."
              ::= { traps 8 }		        
		        
          firmwareUpgradeFailure NOTIFICATION-TYPE
              STATUS  current
              DESCRIPTION
                      "SNMP_FIRMUPGRADE_FAIL."
              ::= { traps 9 }		        		        	        

          firmwareIllegalFile NOTIFICATION-TYPE
              STATUS  current
              DESCRIPTION
                      "SNMP_FIRMUPGRADE_FAIL2."
              ::= { traps 10 }		        
		        
          firmwareTransferError NOTIFICATION-TYPE
              STATUS  current
              DESCRIPTION
                      "SNMP_FIRMUPGRADE_FAIL1."
              ::= { traps 11 }

          firmwareChecksumError NOTIFICATION-TYPE
              STATUS  current
              DESCRIPTION
                      "SNMP_FIRMUPGRADE_FAIL3."
              ::= { traps 12 }		        
		        

 
    -- ------------------------------------------------------------------ 
    -- companySyslog
    -- ------------------------------------------------------------------
      syslogGeneralGroup            OBJECT IDENTIFIER ::= { companySyslog 2 }

-- syslogGeneralGroup

  syslogState OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(1),
                disable(2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for enabling or disabling syslog alert features in
       the system.
       System Logs record and manage events, as well as report errors and 
       informational messages."

   DEFVAL  { disable } 
       ::= { syslogGeneralGroup 1 }

    syslogTimeStampOption  OBJECT-TYPE 
       SYNTAX         INTEGER {
                       enable(1),
                       disable(2)
                      }
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
          "This object is for enabling or disabling timestamp option.
    
           When enabled, the messages (log and email alert messages) will
           hold the time stamp information.
    
           When disabled, the time stamp information will not be carried with
           the messages sent to the log and mail servers."
    
       DEFVAL  { enable } 
       ::= { syslogGeneralGroup 2 }
    
    syslogSrvSeverity OBJECT-TYPE 
        SYNTAX       INTEGER{
                      warning(4),   -- For logging warning messages.
                      info(6),      -- For logging informational messages.
                      all(7)      -- For logging debug messages.
                    }
        MAX-ACCESS  read-write 
        STATUS      current 
        DESCRIPTION 
           "Specifies the log level option to be set for a specific module."
     
        ::= { syslogGeneralGroup 3 }   

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

       ::= { syslogGeneralGroup 4 }

-- syslogSrvTable
-- This table is for configuring the Logging server forward table


  syslogSrvTable       OBJECT-TYPE
         SYNTAX               SEQUENCE OF SyslogSrvEntry
         MAX-ACCESS           not-accessible
         STATUS               current
         DESCRIPTION
            "A table containing entries of priority,server address type, server address,
             port through which it can send and tranport type."

         ::= { syslogGeneralGroup 5 }

  syslogSrvEntry    OBJECT-TYPE
         SYNTAX            SyslogSrvEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A table containing index as priority , server address type and server address."
         INDEX { syslogSrvIPType, syslogSrvIP}
         ::= { syslogSrvTable 1 }

      SyslogSrvEntry::=
         SEQUENCE {
             syslogSrvIPType     INTEGER,
             syslogSrvIP         Ipv6Address,
             syslogSrvPort       Integer32,
             syslogInterfaceName OCTET STRING,
             syslogSrvRowStatus  RowStatus
            }

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

     syslogSrvIP         OBJECT-TYPE
         SYNTAX                 Ipv6Address
         MAX-ACCESS             read-only
         STATUS                 current
         DESCRIPTION
            "Specifies the ServerIP to which the syslog shall be forwarded."
         ::= { syslogSrvEntry 2 }

     syslogSrvPort    OBJECT-TYPE
         SYNTAX                 Integer32(0..65535)
         MAX-ACCESS             read-create
         STATUS                 current
         DESCRIPTION
            "Specifies the Port through which it can send the syslog message.
             By default the the port is 514"
         DEFVAL { 514 }
         ::= { syslogSrvEntry 3 }

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

     syslogSrvRowStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION    "The Status of the Server Entry."
         ::= { syslogSrvEntry 5 }

--Table ends

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

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

    sysLBDInterval  OBJECT-TYPE
           SYNTAX      Integer32 (1..32767)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
            "Set a Loop detection Interval between 1 and 32767 seconds.
             The default is 2 seconds.
             This time interval to be used at counting time seconds to
            resend the CTP packet automatically."  
           DEFVAL  { 2 }
           ::= { companyLBD 3 }
           
    sysLBDRecoverTime  OBJECT-TYPE
           SYNTAX      Integer32 (0 | 60..1000000)
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
            "This time interval to be used at counting time seconds to
            recover the disabled port automatically. 
            The Loop Detection Recover Time can be set at 0 seconds, 
            or 60 to 1000000 seconds.
            Entering 0 will disable the Loop Detection Recover Time.
            The default is 60 seconds."  
           DEFVAL  { 60 }
           ::= { companyLBD 4 }       
        
        -- LBD Port Control Table
        
        sysLBDCtrlTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF SysLBDCtrlEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "A table to control Loopback detection features either for 
              the entire switch or for each interface in the switch."
           ::= { companyLBD 5 }
        
        sysLBDCtrlEntry OBJECT-TYPE 
           SYNTAX      SysLBDCtrlEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "An entry appears in this table for each interface 
                in the system."
           INDEX { sysLBDCtrlIndex }
           ::= { sysLBDCtrlTable 1 }
           
        SysLBDCtrlEntry ::= 
           SEQUENCE { 
              sysLBDCtrlIndex
                 Integer32, 
              sysLBDPortStatus 
                 INTEGER, 
              sysLBDPortLoopStatus 
                 INTEGER 
          }
        
        sysLBDCtrlIndex OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "The interface index of the port for which the configuration
              in this entry applies."
           ::= { sysLBDCtrlEntry 1 }
            
        sysLBDPortStatus OBJECT-TYPE 
           SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                       }
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Provides control to per port enable or disable the loopback detection 
                function. Default is disabled."
           DEFVAL  { disabled }
           ::= { sysLBDCtrlEntry 2 }
        
        sysLBDPortLoopStatus OBJECT-TYPE 
           SYNTAX      INTEGER {
                       normal(1),
                       disabled(2)
                      }
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The loop status for this port."
           ::= { sysLBDCtrlEntry 3 }

        -- LBD Vlan Loop Table
        
        sysLBDVlanLoopTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF SysLBDVlanLoopEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "A table to display Loopback detection features by vlan
               mode ."
           ::= { companyLBD 6 }
        
        sysLBDVlanLoopEntry OBJECT-TYPE 
           SYNTAX      SysLBDVlanLoopEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "An entry appears in this table for each interface 
                in the system."
           INDEX { sysLBDVlanLoopIndex }
           ::= { sysLBDVlanLoopTable 1 }
           
        SysLBDVlanLoopEntry ::= 
           SEQUENCE { 
              sysLBDVlanLoopIndex
                 Integer32, 
              sysLBDVlanLoopPorts 
                 PortList
          }
        
        sysLBDVlanLoopIndex OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
              "Display port lists loop status by vlan."
           ::= { sysLBDVlanLoopEntry 1 }
            
        sysLBDVlanLoopPorts OBJECT-TYPE 
           SYNTAX      PortList
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Display port lists loop status by vlan."
           ::= { sysLBDVlanLoopEntry 2 }

        --For CAMEO_DLINK_LBD_VERSION_4_0_5
        swLoopDetectEnabledVlanList OBJECT-TYPE
            SYNTAX      DisplayString
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "This object indicates the VLANs that enabled LBD.
                Note:
                For the LBD enabled VLAN specification, 
                the value should be separated by ',' or '-'.
                Such as: 1,4,7 or 1,4,7-9 ."
        ::= { companyLBD 7 }


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

--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 {
                annual(1),
                disabled(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is for Annual(1) or Disabled(2) DST state in the system."
              ::= { sysSNTPServerTable 20 }   

    -- ---------------------------------------------------------------------
    -- voicevlan Function
    -- ---------------------------------------------------------------------
          
      voicevlanSystem          OBJECT IDENTIFIER ::= { companyVoiceVlan 1 }
      voicevlanOUI             OBJECT IDENTIFIER ::= { companyVoiceVlan 2 }
      voicevlanDevice          OBJECT IDENTIFIER ::= { companyVoiceVlan 3 }
 
    -- ------------------------------------------------------------------
    -- 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}

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


        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,
              voicevlanDevicePriority       INTEGER,
              voicevlanDeviceTagType        INTEGER,
              voicevlanDeviceStatus         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 }
        
    voicevlanDevicePriority OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "The priority value for voice device."
        ::= { voicevlanDeviceEntry  3 }
        
    voicevlanDeviceTagType OBJECT-TYPE
       SYNTAX INTEGER  { 
            tag(1), 
            untag(2) 
        }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "The tag type for voice device."
        ::= { voicevlanDeviceEntry  4 }
        
    voicevlanDeviceStatus 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."
       ::= { voicevlanDeviceEntry 5 }

    -- ---------------------------------------------------------------------
    -- Auto Surveillance Vlan Function
    -- ---------------------------------------------------------------------
          
      autoSurveillanceVlanSystem          OBJECT IDENTIFIER ::= { companyAutoSurveillanceVlan 1 }
      autoSurveillanceVlanOUI             OBJECT IDENTIFIER ::= { companyAutoSurveillanceVlan 2 }
 
    -- ------------------------------------------------------------------
    -- The Auto Surveillance Vlan Group
    -- ------------------------------------------------------------------

      autoSurveillanceVlanMode OBJECT-TYPE
           SYNTAX      INTEGER { enabled(1), disabled(2) }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "This object is for enabling or disabling Auto Surveillance Vlan function 
               in the system. 
               If the Vlan mode is in Asymmetric VLAN mode, Auto Surveillance VLAN can not 
               be enabled."

           ::= { autoSurveillanceVlanSystem 1 }

      autoSurveillanceVlanId OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The ID of VLAN that you want the surveillance traffic to be in. 
                It must be a exist vlan id."
            ::= { autoSurveillanceVlanSystem 2 }

      autoSurveillanceVlanPriority OBJECT-TYPE
            SYNTAX INTEGER (0..7)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The 802.1p priority levels of the traffic in the Auto Surveillance VLAN."
            ::= { autoSurveillanceVlanSystem 3}

      autoSurveillanceVlanTaggedUplinkDownlinkPort OBJECT-TYPE
            SYNTAX      PortList
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
                "Auto Surveillance vlan uplink ports can't auto learning OUI."
            ::= { autoSurveillanceVlanSystem 4 }

    -- ------------------------------------------------------------------
    -- The Auto Surveillance Vlan OUI Group
    -- ------------------------------------------------------------------

    --
    -- Auto Surveillance Vlan OUI Table
    --
    
    autoSurveillanceVlanOUITable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF AutoSurveillanceVlanOUIEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A Auto Surveillance vlan OUI entry containing the description and mac."

        ::= { autoSurveillanceVlanOUI 1 }

    autoSurveillanceVlanOUIEntry OBJECT-TYPE
        SYNTAX     AutoSurveillanceVlanOUIEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "A Auto Surveillance vlan OUI entry containing the description and mac."

        INDEX { autoSurveillanceVlanOUISurveillanceOUI }
        ::= { autoSurveillanceVlanOUITable 1 }

    AutoSurveillanceVlanOUIEntry  ::= 
            SEQUENCE {
              autoSurveillanceVlanOUISurveillanceOUI       MacAddress,
              autoSurveillanceVlanOUIDescription           OCTET STRING,
              autoSurveillanceVlanOUIMask                  MacAddress,
              autoSurveillanceVlanOUIStatus                RowStatus,
              autoSurveillanceVlanOUIComponentType         INTEGER
              }

    autoSurveillanceVlanOUISurveillanceOUI 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 surveillance traffic's OUI that user created." 
        ::= { autoSurveillanceVlanOUIEntry  1 }

    autoSurveillanceVlanOUIDescription OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "The Description for the OUI."
        ::= { autoSurveillanceVlanOUIEntry  2 }
        
    autoSurveillanceVlanOUIMask OBJECT-TYPE
       SYNTAX       MacAddress
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
         "Auto Surveillance vlan OUI Mask. 
          The default OUI Mask is FF:FF:FF:F0:00:00. And default OUI Mask is read-only.
          In user define OUI's Mask is FF:FF:FF:00:00:00, in user define MAC's Mask is FF:FF:FF:FF:FF:FF."
        ::= { autoSurveillanceVlanOUIEntry  3 }
                    
    autoSurveillanceVlanOUIComponentType OBJECT-TYPE
        SYNTAX INTEGER  {
        	 video_Management_Server(0),
        	 vMS_Client(1),
             video_Encoder(2),
             network_Storage(3),
             other_IP_Surveillance_Devices(4),
             d-Link_Surveillance_Device(5)             
        } MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
         "This object indicates the Component Type of this entry. 
         To create a new entry, you must set the autoSurveillanceVlanOUIComponentType
         to be CreateAndGo, then this entry will turn to be Active."
       ::= { autoSurveillanceVlanOUIEntry 4 }  
                           
    autoSurveillanceVlanOUIStatus 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 autoSurveillanceVlanOUIStatus 
         to be CreateAndGo, then this entry will turn to be Active."
       ::= { autoSurveillanceVlanOUIEntry 5 }      
    -- ------------------------------------------------------------------
    -- 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 }

--
-- lldpManAddrConfigTxPortsTable : selection of management addresses
--                                 to be transmitted on a specified set
--                                 of ports.
-- 

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

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

            This configuration object augments the lldpLocManAddrEntry,
            therefore it is only present along with the management
            address instance contained in the associated
            lldpLocManAddrEntry entry.

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

DlinklldpConfigManAddrEntry  ::= SEQUENCE {
    dlinklldpLocManAddrSubtype    AddressFamilyNumbers,
    dlinklldpLocManAddr           LldpManAddress,
    dlinklldpConfigManAddrPortsTxEnable PortList
}

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

dlinklldpLocManAddr  OBJECT-TYPE
    SYNTAX      LldpManAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The string value used to identify the management address
            component associated with the local system.  The purpose of
            this address is to contact the management entity."
    REFERENCE 
            "IEEE 802.1AB-2005 9.5.9.4"
    ::= { dlinklldpConfigManAddrEntry 2 }
    
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"
    DEFVAL  { ''H } 
    ::= { dlinklldpConfigManAddrEntry 3 }
    
    -- ---------------------------------------------------------------------
    -- 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 {
                    disabled        (0),
                    enabled         (1)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable Green disable LED function.
            Default is disabled."

    DEFVAL  { 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 {
                    disabled        (0),
                    enabled         (1)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable Green disable LED function.
            Default is disabled."

    DEFVAL  { 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 {
                    disabled        (0),
                    enabled         (1)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable Green disable LED function.
            Default is disabled."

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

    dlinkPowerSavingGlobalSetting      OBJECT-TYPE
        SYNTAX      INTEGER {
                    enabled         (1),
                    disabled        (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/Disable Power Saving global setting.
            Default is disabled."

    DEFVAL  { disabled }
    ::= { companyGreenSetting 6 }
 -- ----------------------------------------------------------
 -- The companySecurity Groups
 -- ----------------------------------------------------------      	
    securityDhcpServerScreen                  OBJECT IDENTIFIER ::= { companySecurity 7 }
 -- Port Security Group --------------------------------------------- --
    
    dhcpServerScreenEnablePortlist OBJECT-TYPE 
       SYNTAX      PortList
       MAX-ACCESS  read-write 
       STATUS      current 
       DESCRIPTION 
           "To enable or disable DHCP Server Screening port list."
       ::= { securityDhcpServerScreen 1 }   
         
    --Trused Server Group --
    dhcpServerScreenTrustedServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpServerScreenTrustedServerEntry
        MAX-ACCESS 			not-accessible
        STATUS              current
        DESCRIPTION
        "A table that contains the configuration objects for the
         DHCP server screen server list.
         An entry appears in this table for each port that may
         authenticate access to itself."
        ::= { securityDhcpServerScreen 3 }

    dhcpServerScreenTrustedServerEntry	    OBJECT-TYPE
        SYNTAX                              DhcpServerScreenTrustedServerEntry
        MAX-ACCESS 			                not-accessible
        STATUS                              current
        DESCRIPTION
        "The configuration information for an DHCP server screen server."
        INDEX { dhcpServerScreenTrustedServerIndex }
        ::= { dhcpServerScreenTrustedServerTable 1 }

    DhcpServerScreenTrustedServerEntry ::= SEQUENCE {
        dhcpServerScreenTrustedServerIndex                 INTEGER,
        dhcpServerScreenTrustedServerAddress               Ipv6Address,
        dhcpServerScreenIPType                             INTEGER,
        dhcpServerScreenTrustedServerStatus                RowStatus
    }

    dhcpServerScreenTrustedServerIndex      OBJECT-TYPE
        SYNTAX                              INTEGER (1..5)
        MAX-ACCESS 			                read-only
        STATUS                              current
        DESCRIPTION
        "A unique value for DHCP server screen server index.
         Its value ranges between 1 and 5."
        ::= { dhcpServerScreenTrustedServerEntry 1 }

    dhcpServerScreenTrustedServerAddress    OBJECT-TYPE
        SYNTAX                              Ipv6Address
        MAX-ACCESS                          read-write
        STATUS                              current
        DESCRIPTION
            "The IP address of the DHCP server screen server
                     referred to in this table entry."
        ::=  { dhcpServerScreenTrustedServerEntry 2 }

    dhcpServerScreenIPType OBJECT-TYPE
        SYNTAX    INTEGER {
               iPv4             (1),
               iPv6	            (2)
            }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
           "Type of IP interface."
        ::= { dhcpServerScreenTrustedServerEntry 3 }

    dhcpServerScreenTrustedServerStatus     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 dhcpServerScreenServerIndex objects 
            must be explicitly set."
        ::= { dhcpServerScreenTrustedServerEntry 4}    
         
    securityTrafficSeg                  OBJECT IDENTIFIER ::= { companySecurity 9}
  
    trafficSegStatus OBJECT-TYPE
        SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
        }
        MAX-ACCESS 			read-write
        STATUS              current
        DESCRIPTION
        "Enable/Disable Status of Traffic Segmention."
        ::= { securityTrafficSeg 1 }   

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

    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 port index of Traffic Segmentation table."
        ::= { trafficSegEntry 1 }

  	trafficSegMemberList OBJECT-TYPE
	   SYNTAX       PortList
	   MAX-ACCESS   read-write
	   STATUS       current
	   DESCRIPTION
	       "Forwarding member port list of Traffic Segmentation port index."
	   ::= { trafficSegEntry 2 }

        
    
-- ----------------------------------------------------------
-- The companyDoSCtrl Groups
-- ----------------------------------------------------------

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

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

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

    doSCtrlType OBJECT-TYPE
    	SYNTAX INTEGER {
			landattack(1),
			blatattack(2),
--			smurfattack(3), /*WS5 not support*/
			tcpnullscan(4),
			tcpxmascan(5),
			tcpsynfin(6),
			tcpsynsrcportless1024(7)
   	    	}
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "This object indicates the DoS prevention type."
    ::= { doSCtrlEntry 1 }

	doSCtrlDisplayState OBJECT-TYPE
        SYNTAX INTEGER {
                          disabled (0),
                          enabled  (1)
               }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the status of the DoS prevention type."
    ::= { doSCtrlEntry 2 }

        -- ----------------------------------------------------------------
        -- 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                    OCTET STRING,
     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     OCTET STRING (SIZE(1..32))
     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             OCTET STRING,
     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     OCTET STRING  (SIZE(1..32))
     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                    OCTET STRING,
     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     OCTET STRING  (SIZE(1..32))
     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          OCTET STRING,
     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(1..32))
     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     OCTET STRING (SIZE(1..32))
     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,
            neighborRowStatus       RowStatus
        }

         neighborIfindex OBJECT-TYPE
           SYNTAX  INTEGER
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The interface index of the Neighbor entry."
           ::= { 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 }


         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 }


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

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

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


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

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

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

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

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

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

            dhcpRelayInterfaceSettingsRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS  current
                DESCRIPTION
                    "This object indicates the status of this entry.
                     Only a subset of the rowstatus variables (active, createAndGo, destroy) are available."
            ::= { dhcpRelayInterfaceSettingsEntry 3 }

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

            dhcpRelayOption82State OBJECT-TYPE
                SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                    "This object indicates DHCP relay option 82 function always enabled."
            ::= { dhcpRelayManagementOption82 1 }

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

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

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

	        dhcpRelayOption82RemoteID 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, a new value can be written to this object."
            ::= { dhcpRelayManagementOption82 5 }

  		-- ----------------------------------------------------------
		-- 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 DhcpLocalRelayEntry
                MAX-ACCESS  not-accessible
                STATUS  current
                DESCRIPTION
                    "This table indicates the IP address as a destination to forward (local relay) DHCP packets to."
            ::= { companyDHCPLocalRelay 2 }

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

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

        dhcpv6RelayControl                   OBJECT IDENTIFIER ::= { companyDHCPv6Relay 1 }
        dhcpv6RelayManagement                OBJECT IDENTIFIER ::= { companyDHCPv6Relay 2 }
        dhcpv6RelayOption37                  OBJECT IDENTIFIER ::= { companyDHCPv6Relay 3 }
        -- ----------------------------------------------------------
		-- The DHCPv6 Relay
		-- ----------------------------------------------------------

		-- The DHCPv6 Relay Control

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

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


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

            dhcpv6RelayInterfaceSettingsTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF Dhcpv6RelayInterfaceSettingsEntry
                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  Dhcpv6RelayInterfaceSettingsEntry
                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 }

            Dhcpv6RelayInterfaceSettingsEntry ::=
                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.
                     Only a subset of the rowstatus variables (active, createAndGo, destroy) are available."
            ::= { 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 }
            


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

END
