------------------------------------------------------------------------------
------------------------------------------------------------------------------
--
-- Copyright (c) 1997 XACT, Inc.  All Rights Reserved.
--
-- Reproduction of this document is authorized on condition that this
-- copyright notice is included.  This XACT SNMP MIB Specification
-- embodies XACT's proprietary intellectual property.  XACT
-- retains all title and ownership in the specification, including any
-- revisions.
--
-- It is XACT's intent to encourage the widespread use of this
-- specification in connection with the management of XACT's
-- products.  XACT grants vendor, end-users, and other interested
-- parties a non-exclusive license to use this specification in
-- connection with the management of XACT's products.
--
-- This specification is supplied "AS IS", and XACT makes no
-- warranty, either express or implied, as to the use, operations,
-- condition, or performance of this specification.
--
-- Copyright text courtesy of S. Rotenstein.
--
------------------------------------------------------------------------------
-- Groups in the NETGEAR MIB
--
-- The following groups are supported for NETGEAR
--
-- Active....
--    netgearCommGroup     Permits the user to configure the communities
--    netgearHostGroup     Permits the user to configure the hosts
--    netgearMiscGroup     Permits the user to configure miscellaneous items
--    netgearSpanGroup     Permits the user to configure Spanning Tree       
--
--
------------------------------------------------------------------------------
------------------------------------------------------------------------------
        FSM726S-MIB DEFINITIONS ::= BEGIN

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


        netgear            OBJECT IDENTIFIER ::= { enterprises 4526 }  
        snmpManagedSwitch  OBJECT IDENTIFIER ::= { netgear 1 }  
        fsm726s            OBJECT IDENTIFIER ::= { snmpManagedSwitch 1 }  

        -- textual conventions

        OwnerString ::= DisplayString
        MacAddress ::= OCTET STRING (SIZE (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)


        --
        -- NETGEAR Enterprise MIB Extensions
        --
        netgearCommGroup        OBJECT IDENTIFIER ::= { fsm726s 1 }  
        netgearHostGroup        OBJECT IDENTIFIER ::= { fsm726s 2 }  
        netgearMiscGroup        OBJECT IDENTIFIER ::= { fsm726s 3 }
        netgearSpanGroup        OBJECT IDENTIFIER ::= { fsm726s 4 }
        --
        netgearConfigGroup      OBJECT IDENTIFIER ::= { fsm726s 11 }
        netgearVlanGroup        OBJECT IDENTIFIER ::= { fsm726s 13 }
        netgearPortTrunkGroup   OBJECT IDENTIFIER ::= { fsm726s 14 }


        --
        -- NETGEAR Extension MIB, Community Information             
        --
        commTable OBJECT-TYPE
            SYNTAX SEQUENCE OF CommEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Community Entries "
            ::= { netgearCommGroup 1 }
            
        commEntry OBJECT-TYPE
            SYNTAX CommEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Community properties"
            INDEX { commIndex }
            ::= { commTable 1 }
            
        CommEntry ::= SEQUENCE {
            commIndex                 INTEGER,
            commName                  DisplayString,
            commGet                   INTEGER,
            commSet                   INTEGER,
            commTrap                  INTEGER,
            commStatus                INTEGER
        }
        
        commIndex OBJECT-TYPE
            SYNTAX INTEGER (1..8)
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "An index that uniquely identifies an entry in the 
                 Community Table. Eight entries are currently supported."
            ::= { commEntry 1 }
            
        commName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (0..31))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The name of this SNMP Community Entry."
            ::= { commEntry 2 }
            
        commGet OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The GET permission for the community. A (1) indicates a
                 GET enable.  A (2) indicates a GET disable."
            ::= { commEntry 3 }
            
        commSet OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The SET permission for the community. A (1) indicates a
                 SET enable. A (2) indicates a SET disable." 
            ::= { commEntry 4 }
            
        commTrap OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The TRAP permission for the community. A (1) indicates a 
                 TRAP enable.  A (2) indicates a TRAP disable."
            ::= { commEntry 5 }

        commStatus OBJECT-TYPE
            SYNTAX INTEGER (1..6)
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The RowStatus for the community entry."
            ::= { commEntry 6 }


        --
        -- NETGEAR Extension MIB, Host Information             
        --
        hostTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HostEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Trusted Host Entries "
            ::= { netgearHostGroup 1 }
            
        hostEntry OBJECT-TYPE
            SYNTAX HostEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of SNMP Host properties"
            INDEX { hostIndex }
            ::= { hostTable 1 }
            
        HostEntry ::= SEQUENCE {
            hostIndex                 INTEGER,
            hostName                  DisplayString,
            hostIP                    IpAddress,
            hostComm                  DisplayString,
            hostStatus                INTEGER
        }
        
        hostIndex OBJECT-TYPE
            SYNTAX INTEGER (1..16)
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "An index that uniquely identifies an entry in the
                 Host Table. Sixteen entries are currently supported."
            ::= { hostEntry 1 }
            
        hostName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (0..31))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The name of this Host Entry."
            ::= { hostEntry 2 }
            
        hostIP OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The IP Address for the host."
            ::= { hostEntry 3 }
            
        hostComm OBJECT-TYPE
            SYNTAX DisplayString (SIZE (0..31))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The name of the community this host belongs to."
            ::= { hostEntry 4 }

        hostStatus OBJECT-TYPE
            SYNTAX INTEGER (1..6)
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The RowStatus for the community entry."
            ::= { hostEntry 5 }

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

        miscStatisticsReset OBJECT-TYPE
            SYNTAX INTEGER {
                   reset(1),
                   noop(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Resets the units statistics. A (1) resets 
                 the unit, a (2) does nothing."
            ::= { netgearMiscGroup 3 }

        --
        -- NETGEAR Extension MIB, Spanning Tree Configuration       
        --
        spanOnOff OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Enable/Disable Spanning Tree. A (1) enables, a (2) disables."
            ::= { netgearSpanGroup 1 }


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

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

        configBootMode OBJECT-TYPE
            SYNTAX INTEGER {
                   lastSaved(1),
                   net(2),
		   netAndSave(3)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Defines the method used for downloading the image when reset."
            ::= { netgearConfigGroup 3 }

        configBootFtpServerIp OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The FTP server's IP address used for downloading the 
		 boot image"
            ::= { netgearConfigGroup 4 }

        configBootImageFileName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..63))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The path and filename of the boot image to download"
            ::= { netgearConfigGroup 5 }

       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."
            ::= { netgearConfigGroup 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,
            configPortDuplex           INTEGER,
            configPortDataRate         INTEGER,
            configPortDuplexOper       INTEGER,
            configPortDataRateOper     INTEGER,
            configPortStateOper        INTEGER,
            configPortFlowControl      INTEGER,
            configPortDefaultVlanId    INTEGER,
            configPortComments         DisplayString,
            configPortAutoNegotiation  INTEGER,
            configPortFlowControlOper  INTEGER,
	    configPortGBIC	       INTEGER,
	    configPortFastLink	       INTEGER,
	    configPortPriority         INTEGER,
	    configPortBroadcastControl INTEGER
        }
            
        configPort OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-write
            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 }

        configPortDuplex OBJECT-TYPE
            SYNTAX INTEGER {
                   half-duplex(1),
                   full-duplex(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The port's duplex desired state."
            ::= { configPortEntry 3 }

        configPortDataRate OBJECT-TYPE
            SYNTAX INTEGER {
                   rate10Meg(1),
                   rate100Meg(2),
                   rate1Gig(4)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The port's desired transmission data rate."
            ::= { configPortEntry 6 }

        configPortDuplexOper OBJECT-TYPE
            SYNTAX INTEGER {
                   half-duplex(1),
                   full-duplex(2)
            }
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The port's operating duplex state."
            ::= { configPortEntry 8 }

        configPortDataRateOper OBJECT-TYPE
            SYNTAX INTEGER {
                   rate10Meg(1),
                   rate100Meg(2),
                   rate1Gig(4)
            }
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The port's operating transmission data rate."
            ::= { configPortEntry 9 }

        configPortStateOper OBJECT-TYPE
            SYNTAX INTEGER {
                   disabled(1),
                   blocking(2),
                   listening(3),
                   learning(4),
                   forwarding(5)
            }
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The port's current state."
            ::= { configPortEntry 10 }

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

        configPortDefaultVlanId OBJECT-TYPE
            SYNTAX INTEGER (1..4094)
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The port will add this vlan id tag to any incoming packet
                 which is lacking a vlan id tag."
            ::= { configPortEntry 12 }

        configPortComments OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..32))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "May contain any comments related to a given port such as
                 a user name or LAN segment."
            ::= { configPortEntry 13 }

        configPortAutoNegotiation OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The port will perform auto-negotiation to determine the
                 port's duplex and data rate.  When auto-negotiation is
                 enabled, the negotiated duplex and data rate can be 
                 determined by configPortDuplexOper and 
                 configPortDataRateOper mib objects respectively."
            ::= { configPortEntry 14 }

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

        configPortGBIC OBJECT-TYPE
            SYNTAX INTEGER {
	           fastEthernet(1),
		   mii(2),
		   fx(3),
		   gigabitEthernetSX(4),
		   gigabitEthernetLX(5),
		   gigabitEthernetGBIC(6),
		   gigabitEthernetTP(7)
	    }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Port Type."
            ::= { configPortEntry 17 }

        configPortFastLink OBJECT-TYPE
            SYNTAX INTEGER {
                   disabled(1),
                   enabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The port's FastLink option."
            ::= { configPortEntry 18 }

        configPortPriority OBJECT-TYPE
            SYNTAX INTEGER {
                   normal(1),
                   high(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The port's current flow control state."
            ::= { configPortEntry 19 }

        configPortBroadcastControl OBJECT-TYPE
            SYNTAX INTEGER (0..1488100)
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The port's broadcast packets per second threshold. 
		 If the amount of broadcast packets exceeds this 
		 threshold, those packets will be dropped."
            ::= { configPortEntry 20 }

	--
        -- Additional Configuration objects
        --

        configMirroringOnOff OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Enable or disable port mirroring."
            ::= { netgearConfigGroup 8 }

        configMirrorSrc OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "When mirroring is enabled (configMirroringOnOff =
                 enabled), this identifies the mirroring source port.
                 This value has a valid range of 1 to ifNumber when enbaled."
            ::= { netgearConfigGroup 9 }

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

        configIpAssignmentMode OBJECT-TYPE
            SYNTAX INTEGER {
                   manual(1),
                   bootP(2),
                   dhcp(3)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Indicates whether the device address is assigned by
		 the user (manual), BootP, or DHCP."
            ::= { netgearConfigGroup 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."
            ::= { netgearConfigGroup 13 }

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

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

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

        configGateway OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The Gatway Address for the unit."
            ::= { netgearConfigGroup 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."
            ::= { netgearConfigGroup 19 }

        configVerBootRomImage OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..31))
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The Boot ROM version string"
            ::= { netgearConfigGroup 21 }

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

        configIGMPOnOff OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Enable or disable the IGMP protocol within the switch."
            ::= { netgearConfigGroup 23 }

	configWebOnOff OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Enable or disable the Web Interface."
            ::= { netgearConfigGroup 24 }

	configHighPriorityOptimization OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Enable or disable high priority optimization."
            ::= { netgearConfigGroup 25 }

        configUserAuthenticationMode OBJECT-TYPE
            SYNTAX INTEGER {
                   basicPasswordOnly(1),
                   basicPasswordThenRemoteRADIUS(2),
                   remoteRADIUSOnly(4)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Determines whether the user password will be authenticated
		 by the switch, a remote RADIUS server, or some combination
		 of the two."
            ::= { netgearConfigGroup 27 }

        configRadiusServerIpAddress OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The IP Address of the RADIUS server used for remote
		 user authentication."
            ::= { netgearConfigGroup 28 }

        configRadiusSharedSecret OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..32))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "A string of characters used in the RADIUS password 
		 encryption process."
            ::= { netgearConfigGroup 29 }

        configTelnetConsole OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Enable or disable the telnet console."
            ::= { netgearConfigGroup 30 }

       configDiffServTable OBJECT-TYPE
            SYNTAX SEQUENCE OF ConfigDiffServEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of DSCP Priorities."
            ::= { netgearConfigGroup 31 }

        configDiffServEntry OBJECT-TYPE
            SYNTAX ConfigDiffServEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "An enterprise specific DSCP entry."
            INDEX { configDiffServDSCP }
            ::= { configDiffServTable 1 }

        ConfigDiffServEntry ::= SEQUENCE {
            configDiffServDSCP             INTEGER,
	    configDiffServPriority         INTEGER
        }
            
        configDiffServDSCP OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "A DSCP value (0 - 63)."
            ::= { configDiffServEntry 1 }

        configDiffServPriority OBJECT-TYPE
            SYNTAX INTEGER {
                   normal(1),
                   high(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The DSCP's current priority setting."
            ::= { configDiffServEntry 2 }

        configTftpServerIpAddress OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The IP Address of the tftp server used to upload and
		 download configuration files. This object is to be used
		 in conjunction with configTftpServerFileName and
		 configTftpOperation."
            ::= { netgearConfigGroup 32 }

        configTftpServerFileName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..64))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The filename, including the path, used to store or 
		 retrieve a configuration file from the tftp server.
		 This object is to be used in conjunction with 
		 configTftpServerIpAddress and configTftpOperation."
            ::= { netgearConfigGroup 33 }

        configTftpOperation OBJECT-TYPE
            SYNTAX INTEGER {
                   download(1),
                   upload(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The tftp operation to perform. Either download a 
		 configuration to the unit or upload the current
		 configuration to the tftp server. This object is 
		 to be used in conjunction with 
		 configTftpServerIpAddress and configTftpServerFileName."
            ::= { netgearConfigGroup 34 }

        configIpFilter OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Determines if access to the device is limited to only
		 those IP addresses specified in the configIpFilterTable."
            ::= { netgearConfigGroup 35 }

       configIpFilterTable OBJECT-TYPE
            SYNTAX SEQUENCE OF ConfigIpFilterEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of IP addresses allowed access to this device."
            ::= { netgearConfigGroup 36 }

        configIpFilterEntry OBJECT-TYPE
            SYNTAX ConfigIpFilterEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "An enterprise specific IP filter entry."
            INDEX { configIpFilterIpAddress }
            ::= { configIpFilterTable 1 }

        ConfigIpFilterEntry ::= SEQUENCE {
            configIpFilterIpAddress       IpAddress,
	    configIpFilterStatus          INTEGER
        }
            
        configIpFilterIpAddress OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "An IP address which is allowed access to this device."
            ::= { configIpFilterEntry 1 }

        configIpFilterStatus OBJECT-TYPE
            SYNTAX INTEGER {
                    active (1),
                    destroy (6)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The status of an entry in the IP filter Table.  Only
		 a subset of the rowstatus variables (active, destroy) 
                 are available."
            ::= { configIpFilterEntry 2 }

        configUserName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..20))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The users login Id."
            ::= { netgearConfigGroup 37 }

        configPasswordProtection OBJECT-TYPE
            SYNTAX INTEGER {
                   enabled(1),
                   disabled(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Determines if a user must login before gaining access
		 to the device."
            ::= { netgearConfigGroup 38 }

        configPasswordEncryption OBJECT-TYPE
            SYNTAX INTEGER {
                   clearText(1),
                   encrypted(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "Determines when the password is written to the 
		 configuration file whether it is written as clear
		 text or encrypted format."
            ::= { netgearConfigGroup 39 }

        configAuthServerIpAddress OBJECT-TYPE
            SYNTAX IpAddress
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The IP Address of the server used for 802.1x
		 authentication."
            ::= { netgearConfigGroup 40 }

        configAuthServerSharedSecret OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..32))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "A string of characters used in the RADIUS password 
		 encryption process by 802.1x authentication."
            ::= { netgearConfigGroup 41 }


        -- The VLAN group

        vlanTable OBJECT-TYPE
            SYNTAX SEQUENCE OF VlanEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A list of the VLANs"
            ::= { netgearVlanGroup 1 }

        vlanEntry OBJECT-TYPE
            SYNTAX VlanEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "A VLAN entry containing the VLAN id and name."
            INDEX { vlanId }
            ::= { vlanTable 1 }

        VlanEntry ::= SEQUENCE {
            vlanId               INTEGER,
            vlanName             DisplayString,
            vlanStatus           INTEGER
        }

        vlanId 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 1 to 4094."
            ::= { vlanEntry 1 }

        vlanName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..15))
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The VLAN name associated with the VLAN Id."
            ::= { vlanEntry 2 }

        vlanStatus OBJECT-TYPE
            SYNTAX INTEGER {
                    active (1),
                    createAndGo (4),
                    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, destroy) 
                 are available."
            ::= { vlanEntry 3 }

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

        vlanPortEntry OBJECT-TYPE
            SYNTAX VlanPortEntry
            ACCESS not-accessible
            STATUS mandatory
            DESCRIPTION
                "Information pertaining to an individual port regarding
                 to which VLAN it belongs."
            INDEX { vlanPortPortId, vlanPortVlanId }
            ::= { vlanPortTable 1 }

        VlanPortEntry ::= SEQUENCE {
            vlanPortPortId       INTEGER,
            vlanPortVlanId       INTEGER,
            vlanPortStatus       INTEGER,
            vlanPortTaggedMode   INTEGER
        }

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

        vlanPortVlanId OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The VLAN identifier."
            ::= { vlanPortEntry 2 }

        vlanPortStatus OBJECT-TYPE
            SYNTAX INTEGER {
                    active (1),
                    createAndGo (4),
                    destroy (6)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The status of this port's association within this VLAN.  Only 
                 a subset of the rowstatus variables (active, createAndGo,
                 destroy) are available."
            ::= { vlanPortEntry 3 }

        vlanPortTaggedMode OBJECT-TYPE
            SYNTAX INTEGER {
                    untagged(1),
                    tagged(2)
            }
            ACCESS read-write
            STATUS mandatory
            DESCRIPTION
                "The tagged mode of a VLAN port."
            ::= { vlanPortEntry 4 }

        -- 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."
            ::= { netgearPortTrunkGroup 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       INTEGER,
            portTrunkMemberValue  INTEGER
        }

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

        portTrunkMember OBJECT-TYPE
            SYNTAX INTEGER
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "A port trunk has four members."
            ::= { portTrunkEntry 2 }

        portTrunkMemberValue OBJECT-TYPE
            SYNTAX INTEGER
            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."
            ::= { portTrunkEntry 3 }

       END
