------------------------------------------------------------------------------
------------------------------------------------------------------------------
--
--
------------------------------------------------------------------------------
-- Groups in the company MIB
--
-- The following groups are supported for company
--
-- Active....
--    companyCommGroup     Permits the user to configure the communities
--    companyHostGroup     Permits the user to configure the hosts
--    companyMiscGroup     Permits the user to configure miscellaneous items
--    companySpanGroup     Permits the user to configure Spanning Tree       
--
--                           
------------------------------------------------------------------------------
------------------------------------------------------------------------------
        DES-1226G-MIB DEFINITIONS ::= BEGIN

        IMPORTS                
            OBJECT-TYPE                          FROM RFC-1212
            enterprises,
            Counter, TimeTicks, IpAddress        FROM RFC1155-SMI
            mib-2,
            DisplayString, PhysAddress           FROM RFC1213-MIB;
            

        d-link					OBJECT IDENTIFIER ::= { enterprises 171 } 
        dlink-products			OBJECT IDENTIFIER ::= { d-link 10 }
        dlink-FESmartSwitch			OBJECT IDENTIFIER ::= { dlink-products 75}
        des-1226G					OBJECT IDENTIFIER ::= { dlink-FESmartSwitch 1 }

        -- textual conventions

        OwnerString ::= DisplayString
        MacAddress ::= OCTET STRING (SIZE (6))
        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 (SIZE (6))
		RowStatus ::= TEXTUAL-CONVENTION
    	    STATUS       current
    	    DESCRIPTION  ""

    	    SYNTAX       INTEGER {
                         active(1),
                         notInService(2),
                         notReady(3),
                         createAndGo(4),
                         createAndWait(5),
                         destroy(6)
                         }


        -- This data type is used to model an administratively
        -- assigned name of the owner of a resource. This
        -- information is taken from the NVT ASCII character set.
        -- It is suggested that this name contain one or more
        -- of the following:
        -- IP address, management station name, network manager's
        -- name, location, or phone number.
        -- In some cases the agent itself will be the owner of
        -- an entry.  In these cases, this string shall be set
        -- to a string starting with 'monitor'.
        --
        -- SNMP access control is articulated entirely in terms of
        -- the contents of MIB views; access to a particular SNMP
        -- object instance depends only upon its presence or
        -- absence in a particular MIB view and never upon its
        -- value or the value of related object instances. Thus,
        -- objects of this type afford resolution of resource
        -- contention only among cooperating managers; they
        -- realize no access control function with respect
        -- to uncooperative parties.
        --
        -- By convention, objects with this syntax are declared
        -- as having
        --
        --      SIZE (0..127)


        --
        -- company Enterprise MIB Extensions
        --
        companyCommGroup        OBJECT IDENTIFIER ::= { des-1226G 1 }  
        companyMiscGroup        OBJECT IDENTIFIER ::= { des-1226G 3 }
        --
        companyConfigGroup      OBJECT IDENTIFIER ::= { des-1226G 11 }
        companyTVlanGroup       OBJECT IDENTIFIER ::= { des-1226G 13 }
        companyPortTrunkGroup   OBJECT IDENTIFIER ::= { des-1226G 14 }
        companyQoSGroup         OBJECT IDENTIFIER ::= { des-1226G 15 }
	--
        companyStaticGroup	OBJECT IDENTIFIER ::= { des-1226G 21 }

        --
        -- company Extension MIB, Set Community Information
        --
        commSetTable OBJECT-TYPE
            SYNTAX SEQUENCE OF CommSetEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Set Community Entries "
            ::= { companyCommGroup 1 }
            
        commSetEntry OBJECT-TYPE
            SYNTAX CommSetEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Set Community properties"
            INDEX { commSetIndex }
            ::= { commSetTable 1 }
            
        CommSetEntry ::= SEQUENCE {
            commSetIndex                 INTEGER,
            commSetName                  DisplayString,
            commSetStatus                RowStatus
        }
        
        commSetIndex OBJECT-TYPE
            SYNTAX INTEGER (1..2)
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "An index that uniquely identifies an entry in the 
                 Community Table. Eight entries are currently supported."
            ::= { commSetEntry 1 }
            
        commSetName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (0..20))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The name of this SNMP Set Community Entry."
            ::= { commSetEntry 2 }

        commSetStatus OBJECT-TYPE
            SYNTAX RowStatus
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The RowStatus for the Set Community entry."
            ::= { commSetEntry 3 }

        --
        -- company Extension MIB, Get Community Information
        --
        commGetTable OBJECT-TYPE
            SYNTAX SEQUENCE OF CommGetEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Get Community Entries "
            ::= { companyCommGroup 2 }
            
        commGetEntry OBJECT-TYPE
            SYNTAX CommGetEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Get Community properties"
            INDEX { commGetIndex }
            ::= { commGetTable 1 }
            
        CommGetEntry ::= SEQUENCE {
            commGetIndex                 INTEGER,
            commGetName                  DisplayString,
            commGetStatus                RowStatus
        }
        
        commGetIndex OBJECT-TYPE
            SYNTAX INTEGER (1..2)
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "An index that uniquely identifies an entry in the 
                 Community Table. Eight entries are currently supported."
            ::= { commGetEntry 1 }
            
        commGetName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (0..20))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The name of this SNMP Get Community Entry."
            ::= { commGetEntry 2 }

        commGetStatus OBJECT-TYPE
            SYNTAX RowStatus
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The RowStatus for the Get Community entry."
            ::= { commGetEntry 3 }

        --
        -- company Extension MIB, Trap Community Information
        --
        commTrapTable OBJECT-TYPE
            SYNTAX SEQUENCE OF CommTrapEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Trap Community Entries "
            ::= { companyCommGroup 3 }
            
        commTrapEntry OBJECT-TYPE
            SYNTAX CommTrapEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Trap Community properties"
            INDEX { commTrapIndex }
            ::= { commTrapTable 1 }

        CommTrapEntry ::= SEQUENCE {
            commTrapIndex                    INTEGER,
            commTrapName                     DisplayString,
            commTrapIpAddress                IpAddress,
            commTrapSNMPBootup               INTEGER,
            commTrapSNMPTPLinkUpDown         INTEGER,
            commTrapSNMPFiberLinkUpDown      INTEGER,
            commTrapStatus                   RowStatus
        }

        commTrapIndex OBJECT-TYPE
            SYNTAX INTEGER (1..2)
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "An index that uniquely identifies an entry in the 
                 Community Table. Eight entries are currently supported."
            ::= { commTrapEntry 1 }
            
        commTrapName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (0..20))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The name of this SNMP Trap Community Entry."
            ::= { commTrapEntry 2 }

        commTrapIpAddress OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The IP Address of this SNMP Trap Community Entry."
            ::= { commTrapEntry 3 }

        commTrapSNMPBootup  OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION 
                "Bootup trap"
            ::= { commTrapEntry 5 }
        
        commTrapSNMPTPLinkUpDown  OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION 
                "Twisted Pair link up / link down trap"
            ::= { commTrapEntry 6 }
        
        commTrapSNMPFiberLinkUpDown  OBJECT-TYPE
            SYNTAX INTEGER  {
        		 enabled(1),
        		 disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION 
                "Fiber link up / link down trap"
            ::= { commTrapEntry 7 }
                
        commTrapStatus OBJECT-TYPE
            SYNTAX RowStatus
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The RowStatus for the Trap Community entry."
            ::= { commTrapEntry 13 }


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

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

        -- ---------------------------------------------------------------------
        -- Products Extension
        -- ---------------------------------------------------------------------
        configVerSwPrimary OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..31))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The software image version string"
            ::= { companyConfigGroup 1 }

        configVerHwChipSet OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..31))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The hardware chipset version string"
            ::= { companyConfigGroup 2 }

        configPortTable OBJECT-TYPE
            SYNTAX SEQUENCE OF ConfigPortEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of interface entries used for enterprise specific
                 configuration.  The number of entries is given by the value
                 of ifNumber.  All interface entries are assumed to be
                 Ethernet interafaces."
            ::= { companyConfigGroup 6 }

        configPortEntry OBJECT-TYPE
            SYNTAX ConfigPortEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "An enterprise specific interface entry."
            INDEX { configPort }
            ::= { configPortTable 1 }

        ConfigPortEntry ::= SEQUENCE {
            configPort                 INTEGER,
            configPortSpeed            INTEGER,
            configPortOperStatus       INTEGER,
            configPortFlowControl      INTEGER,
            configPortFlowControlOper  INTEGER,
            configPortPriority         INTEGER
        }

        configPort OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "A unique value for each interface that correlates to ifIndex.
                 Its value ranges between 1 and the value of ifNumber."
            ::= { configPortEntry 1 }

        configPortSpeed OBJECT-TYPE
            SYNTAX INTEGER {
                   disable(1),
                   auto(2),
                   rate10M-Half(3),
                   rate10M-Full(4),
                   rate100M-Half(5),
                   rate100M-Full(6),
                   rate1G-Full(7)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The port's speed desired state."
            ::= { configPortEntry 2 }

        configPortOperStatus OBJECT-TYPE
            SYNTAX INTEGER {
                   down(1),
                   rate10M-Half(2),
                   rate10M-Full(3),
                   rate100M-Half(4),
                   rate100M-Full(5),
                   rate1G-Half(6),
                   rate1G-Full(7)
            }
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The port's operating speed state."
            ::= { configPortEntry 3 }

        configPortFlowControl OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The port will avoid transmitting a new packet
                 for the period of time specified in a received
                 PAUSE packet when enabled."
            ::= { configPortEntry 4 }

        configPortFlowControlOper OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The port's operating flow control state."
            ::= { configPortEntry 5 }

      configPortPriority OBJECT-TYPE
            SYNTAX INTEGER {
                   qlevel0(0),
                   qlevel1(1),
                   qlevel2(2),
                   qlevel3(3),
                   qlevel4(4),
                   qlevel5(5),
                   qlevel6(6),
                   qlevel7(7)
            }
          ACCESS read-write
          STATUS mandatory
          DESCRIPTION
              "The port's current priority."
         ::= { configPortEntry 6 }

        -- Additional Configuration objects
        --

        -- --------------------------------------------------------------------- 
        -- Mirror 
        -- --------------------------------------------------------------------- 
        configMirrorTable OBJECT-TYPE
            SYNTAX SEQUENCE OF ConfigMirrorEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of the Mirror"
            ::= { companyConfigGroup 8 }

        configMirrorEntry OBJECT-TYPE
            SYNTAX ConfigMirrorEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A Mirror entry containing the Mirror id and mode"
            INDEX { configMirrorId }
            ::= { configMirrorTable 1 }

        ConfigMirrorEntry ::= SEQUENCE {
            configMirrorId             INTEGER,
            configMirrorMode           INTEGER,
            configMirrorMon            INTEGER,
            configMirrorSrc            PortList,
            configMirrorStatus         RowStatus
        }

        configMirrorId OBJECT-TYPE
            SYNTAX INTEGER (1)
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "An index that uniquely identifies an entry in the 
                 Mirror Table. One entries are currently supported."
            ::= { configMirrorEntry 1 }

        configMirrorMode OBJECT-TYPE
            SYNTAX INTEGER {
                   disabled(0),
                   rx(1),
                   tx(2),
                   both(3)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "When deciding the mirroring source port, then Mirror mode will 
                 be available."
            ::= { configMirrorEntry 2 }

        configMirrorMon OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "When mirroring is enabled (configMirroringMode =
                 ingress, egress, both), this identifies the mirroring monitoring
                 port.  This value has a valid range of 1 to ifNumber when
                 enabled."
            ::= { configMirrorEntry 3 }

        configMirrorSrc OBJECT-TYPE
            SYNTAX PortList
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "When mirroring is enabled (configMirroringMode =
                 ingress, egress, both), this identifies the mirroring source port.
                 This value has a valid range of 1 to ifNumber when enbaled.
                 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'."
            ::= { configMirrorEntry 4 }
        
        configMirrorStatus OBJECT-TYPE
            SYNTAX RowStatus
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The RowStatus for the Mirror entry."
            ::= { configMirrorEntry 5 }

        -- ---------------------------------------------------------------------
        -- SNMP Function
        -- ---------------------------------------------------------------------
        configSNMPEnable OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Enable/Disable SNMP function. A (1) enables, a (2) disables."
            ::= { companyConfigGroup 9 }

        -- ---------------------------------------------------------------------
        -- 
        -- ---------------------------------------------------------------------
        configIpAssignmentMode OBJECT-TYPE
            SYNTAX INTEGER {
                   manual(1),
                   dhcp(2),
                   other(3)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Indicates whether the device address is assigned by
		         the user (manual), or DHCP, or Others(BootP)."
            ::= { companyConfigGroup 12 }

        configPhysAddress OBJECT-TYPE
            SYNTAX MacAddress
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The interface's address at the protocol layer
                 immediately 'below' the network layer in the
                 protocol stack.  This is the physical address
                 for the end-station."
            ::= { companyConfigGroup 13 }

        configPasswordAdmin OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..20))
            ACCESS write-only
            STATUS mandatory
            DESCRIPTION
                "The adminstrator password"
            ::= { companyConfigGroup 15 }

        configIpAddress OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The IP Address for the RDU box."
            ::= { companyConfigGroup 16 }

        configNetMask OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The network mask for the RDU box."
            ::= { companyConfigGroup 17 }

        configGateway OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The Gatway Address for the unit."
            ::= { companyConfigGroup 18 }

        configSave OBJECT-TYPE
            SYNTAX INTEGER {
                   save(1),
                   noop(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Physically saves the current configuration to nvram.
                 - use with care. 
                    (1) saves the configuration
                    (2) does nothing."
            ::= { companyConfigGroup 19 }

        configRestoreDefaults OBJECT-TYPE
            SYNTAX INTEGER {
                   restore(1),
                   noop(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Restores the configuration of the unit to the
                 original settings."
            ::= { companyConfigGroup 22 }

        --
        -- The TVLAN group
        -- 

        tvlanTable OBJECT-TYPE
            SYNTAX SEQUENCE OF TvlanEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of the VLANs"
            ::= { companyTVlanGroup 1 }

        tvlanEntry OBJECT-TYPE
            SYNTAX TvlanEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A VLAN entry containing the VLAN id and name."
            INDEX { tvlanId }
            ::= { tvlanTable 1 }

        TvlanEntry ::= SEQUENCE {
            tvlanId              INTEGER,
            -- tvlanName            DisplayString,
            tvlanMember          PortList,
            tvlanUntaggedPorts   PortList,
            tvlanStatus          INTEGER
        }

        tvlanId OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The VLAN identifier.  A maximum of 64 VLANs is supported.
                 The value must be from 2 to 4094."
            ::= { tvlanEntry 1 }

        tvlanMember OBJECT-TYPE
            SYNTAX PortList
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The set of the device's member ports that belong
 	            to the VLAN.
 	            
 	            Each octet within the value of this object 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
 	            VLAN 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'."

            ::= { tvlanEntry 3 }

        tvlanUntaggedPorts OBJECT-TYPE
            SYNTAX PortList
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "If that bit has a value of '1' the outgoing frame on the egress
                 port is untagged. If that bit has a value of '0' the outgoing 
                 frame on the egress port is tagged."
            ::= { tvlanEntry 4 }

        tvlanStatus OBJECT-TYPE
            SYNTAX INTEGER {
                    active (1),
                    notReady(3),                    
                    createAndGo (4),
                    createAndWait (5),
                    destroy (6)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The status of an entry in the VLAN Table.  Only a subset
                 of the rowstatus variables (active, createAndGo, createAndWait, destroy) 
                 are available."
            ::= { tvlanEntry 5 }

        tvlanPortTable OBJECT-TYPE
            SYNTAX SEQUENCE OF TvlanPortEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of ports and their associated VLAN."
            ::= { companyTVlanGroup 2 }

        tvlanPortEntry OBJECT-TYPE
            SYNTAX TvlanPortEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "Information pertaining to an individual port regarding
                 to which VLAN it belongs."
            INDEX { tvlanPortPortId }
            ::= { tvlanPortTable 1 }

        TvlanPortEntry ::= SEQUENCE {
            tvlanPortPortId       INTEGER,
            tvlanPortVlanId       INTEGER
        }

        tvlanPortPortId OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "A port identifier that is in the range of 1 to ifNumber."
            ::= { tvlanPortEntry 1 }

        tvlanPortVlanId OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The default VLAN identifier."
            ::= { tvlanPortEntry 2 }

        --
        -- The Port Trunking Group
        --
        portTrunkTable OBJECT-TYPE
            SYNTAX SEQUENCE OF PortTrunkEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of port trunks and their associated members."
            ::= { companyPortTrunkGroup 1 }

        portTrunkEntry OBJECT-TYPE
            SYNTAX PortTrunkEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A port trunk entry containing the trunk id and trunk members."
            INDEX { portTrunkId, portTrunkMember }
            ::= { portTrunkTable 1 }

        PortTrunkEntry ::= SEQUENCE {
            portTrunkId           INTEGER,
            portTrunkMember       PortList,
            portTrunkMemberValue  PortList,
            portTrunkEnable       INTEGER
        }

        portTrunkId OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The port trunk identifier.  The current range is from 1 to 3."
            ::= { portTrunkEntry 1 }

        portTrunkMember OBJECT-TYPE
            SYNTAX PortList
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "Trunk group 1 - 2 has twelve members (Port 01/13 - 12/24).
                 Trunk group 3 has two members (Port 25-26).
                 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'."
            ::= { portTrunkEntry 2 }

        portTrunkMemberValue OBJECT-TYPE
            SYNTAX PortList
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "A port trunk member value indicates which port is a
                 member of the specified trunk.  Valid values are in the
                 range from 0 to ifNumber.  A zero indicates that no port
                 is contained in the specifed member.
                 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'."
            ::= { portTrunkEntry 3 }

        portTrunkEnable OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Enable/Disable Trunk group. A (1) enables, a (2) disables."
            ::= { portTrunkEntry 4 }


        --
        -- The QoS group
        -- 

        qos8021pTable OBJECT-TYPE
            SYNTAX SEQUENCE OF QoS8021pEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of priorities and their Queue-Level."
            ::= { companyQoSGroup 2 }

        qos8021pEntry OBJECT-TYPE
            SYNTAX QoS8021pEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A 802.1P Based QoS entry containing the priority and Queue-Level."
            INDEX { qos8021pPriority }
            ::= { qos8021pTable 1 }

        QoS8021pEntry ::= SEQUENCE {
            qos8021pPriority       INTEGER,
            qos8021pQueueLevel     INTEGER
        }

        qos8021pPriority OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "A priority identifier that is in the range of 0 to 7."
            ::= { qos8021pEntry 1 }

        qos8021pQueueLevel OBJECT-TYPE
            SYNTAX INTEGER {
                    normal (1),
                    high (2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The priority's Queue-Level."
            ::= { qos8021pEntry 2 }

        --
        -- The STATIC MAC group
        -- 

        staticOnOff OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Enable/Disable Static MAC. A (1) enables, a (2) disables."
            ::= { companyStaticGroup 1 }

        staticAutoLearning OBJECT-TYPE
            SYNTAX PortList
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The set of the device's member ports that belong
 	            to the Static MAC auto learning enable/disable.
 	            Each octet within the value of this object 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 is represented
 	            by a single bit within the value of this object.
 	            If that bit has a value of '1' then that port is in auto
 	            learning enable state; the port is not in auto learning
 	            state if its bit has a value of '0'."
            ::= { companyStaticGroup 2 }

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

        staticEntry OBJECT-TYPE
            SYNTAX StaticEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A Static MAC entry containing the mac and forwarding port."
            INDEX { staticId }
            ::= { staticTable 1 }

        StaticEntry ::= SEQUENCE {
            staticId            INTEGER,
            staticMac           MacAddress,
            staticPort          INTEGER,
            staticVID		    INTEGER,
            staticStatus        INTEGER
        }

        staticId OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The Static MAC identifier.  A maximum of 60 Static MACs is supported.
                 The value must be from 1 to 60"
            ::= { staticEntry 1 }

        staticMac OBJECT-TYPE
           SYNTAX MacAddress
           ACCESS read-write
           STATUS mandatory
           DESCRIPTION
               "The Static MAC associated with the Id."
           ::= { staticEntry 2 }

        staticPort OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The Static MAC forwarding port with the ID."
            ::= { staticEntry 3 }

        staticVID OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The Static MAC VID with the ID."
            ::= { staticEntry 4 }

        staticStatus OBJECT-TYPE
            SYNTAX INTEGER {
                    active (1),
                    createAndGo (4),
                    destroy (6)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The status of an entry in the Static MAC Table.  Only a subset
                 of the rowstatus variables (active, createAndGo, destroy) 
                 are available."
            ::= { staticEntry 5 }


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

swFiberInsert TRAP-TYPE
	ENTERPRISE des-1226G
        DESCRIPTION
           "Fiber insert trap" 
        ::= 1

swFiberRemove TRAP-TYPE
	ENTERPRISE des-1226G
        DESCRIPTION
           "Fiber remove trap" 
        ::= 2


       END
