EXTREME-PORT-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        MODULE-IDENTITY         FROM SNMPv2-SMI
        RowStatus               FROM SNMPv2-TC
        OBJECT-TYPE             FROM SNMPv2-SMI
        ifIndex                 FROM RFC1213-MIB
        ClientAuthType          FROM EXTREME-BASE-MIB
        extremeAgent            FROM EXTREME-BASE-MIB
        Counter64               FROM SNMPv2-SMI
        extremeVlanIfIndex      FROM EXTREME-VLAN-MIB
        Counter32, TimeTicks    FROM SNMPv2-SMI 
        IpAddress               FROM SNMPv2-SMI 
        MacAddress              FROM SNMPv2-TC
        DisplayString           FROM RFC1213-MIB;

        extremePort MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme network port objects"
        ::= { extremeAgent 4 }


    ExtremePortTrafficDirection ::= INTEGER {
        ingress(1),
        egress(2)
    }

--
-- Load-sharing. Table exists but support removed for 6.0.
--
    extremePortLoadshareTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortLoadshareEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "A table of bindings between a master port 
                        and its load-sharing slaves: create/delete 
                        entries here to add/delete a port to/from a 
                        load-sharing group. Default is empty table. 
                        There are restrictions on what row creates 
                        will be accepted by each device - see Summit 
                        release notes for details."
    ::= { extremePort 1 }

    extremePortLoadshareEntry OBJECT-TYPE
        SYNTAX  ExtremePortLoadshareEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "A binding between a master port and one
                       of its load-sharing slave ports."
                INDEX { extremePortLoadshareMasterIfIndex, 
                        extremePortLoadshareSlaveIfIndex } 
    ::= { extremePortLoadshareTable 1 }

    ExtremePortLoadshareEntry ::= SEQUENCE {
                extremePortLoadshareMasterIfIndex INTEGER, 
                extremePortLoadshareSlaveIfIndex INTEGER,
           extremePortLoadshareGrouping    INTEGER,
                extremePortLoadshareStatus RowStatus 
    }

    extremePortLoadshareMasterIfIndex OBJECT-TYPE
--              SYNTAX INTEGER
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS  read-create
                STATUS deprecated
                DESCRIPTION
                      "The ifIndex value which identifies the
                       port controlling a loadsharing group
                       of ports which includes
                       extremePortLoadshareSlaveIfIndex."
        ::= { extremePortLoadshareEntry 1 }

    extremePortLoadshareSlaveIfIndex OBJECT-TYPE
--              SYNTAX INTEGER
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS  read-create
                STATUS deprecated
                DESCRIPTION
                      "The ifIndex value which identifies the
                       port which is a member of a loadsharing 
                       group controlled by 
                        extremePortLoadshareMasterIfIndex."
        ::= { extremePortLoadshareEntry 2 }

    extremePortLoadshareGrouping OBJECT-TYPE
                SYNTAX INTEGER { other (1), pair (2), quad (4) }
                MAX-ACCESS  read-create
                STATUS deprecated
                DESCRIPTION
                      "The Grouping value which identifies if load sharing is
                      in pair or quad."
        ::= { extremePortLoadshareEntry 3 }

    extremePortLoadshareStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS deprecated
                DESCRIPTION
                        "The row status variable, used according to
                        row installation and removal conventions."
        ::= { extremePortLoadshareEntry 4 }

-- Support dropped in 6.0

-- Summitlink Table

        extremePortSummitlinkTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortSummitlinkEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "A table of Extreme link configuration
                        and status information. Contains a row 
                        for only those ports that are capable of 
                        operating in Summitlink-mode."
    ::= { extremePort 2 }

    extremePortSummitlinkEntry OBJECT-TYPE
        SYNTAX  ExtremePortSummitlinkEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "Link configuration and status information
                        for a Summitlink Port."
               INDEX { ifIndex }
    ::= { extremePortSummitlinkTable 1 }

        ExtremePortSummitlinkEntry ::=  SEQUENCE {
                extremePortSummitlinkAdminMode INTEGER,
                extremePortSummitlinkOperMode INTEGER,
                extremePortSummitlinkState INTEGER,
                extremePortSummitlinkRejectReason INTEGER
        } 

        extremePortSummitlinkAdminMode OBJECT-TYPE
                SYNTAX INTEGER { ethernetOnly(1), summitlinkOnly(2) }
                MAX-ACCESS  read-write
                STATUS deprecated
                DESCRIPTION
                      "Configurable operating mode for this
                       Summitlink port. Configure to summitlinkOnly(1)
                       before connecting this port to a SummitVC device."
                DEFVAL { ethernetOnly }
        ::= { extremePortSummitlinkEntry 1 }

        extremePortSummitlinkOperMode OBJECT-TYPE
                SYNTAX INTEGER { ethernetOnly(1), summitlinkOnly(2) }
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "Actual Operating mode."
                DEFVAL { ethernetOnly }
        ::= { extremePortSummitlinkEntry 2 }
 
        extremePortSummitlinkState OBJECT-TYPE
                SYNTAX INTEGER { up(1), down(2) }
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "Current status of a Summitlink link. Where a port
                        has redundant PMD capability, this indicates up if
                        either of the PMDs has an active link."
        ::= { extremePortSummitlinkEntry 3 }

        extremePortSummitlinkRejectReason OBJECT-TYPE
                SYNTAX INTEGER { none(1), other(2), stackMisconnected(3) }
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                     "If a Summitlink connection has been attempted 
                        and failed to reach the up(1) state, this 
                        indicates the potential source of the failure."
        ::= { extremePortSummitlinkEntry 4 }


--
-- New load share table for 6.0
--
    extremePortLoadshare2Table OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortLoadshare2Entry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "A table of bindings between a master port 
                        and its load-sharing slaves: create/delete 
                        entries here to add/delete a port to/from a 
                        load-sharing group. Default is empty table. 
                        There are restrictions on what row creates 
                        will be accepted by each device - see Summit 
                        release notes for details."
    ::= { extremePort 3 }

    extremePortLoadshare2Entry OBJECT-TYPE
        SYNTAX  ExtremePortLoadshare2Entry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "A binding between a master port and one
                       of its load-sharing slave ports."
                INDEX { extremePortLoadshare2MasterIfIndex, 
                        extremePortLoadshare2SlaveIfIndex } 
    ::= { extremePortLoadshare2Table 1 }

    ExtremePortLoadshare2Entry ::= SEQUENCE {
                extremePortLoadshare2MasterIfIndex INTEGER, 
                extremePortLoadshare2SlaveIfIndex  INTEGER,
           extremePortLoadshare2Algorithm       INTEGER,
                extremePortLoadshare2Status        RowStatus 
    }

    extremePortLoadshare2MasterIfIndex OBJECT-TYPE
--              SYNTAX INTEGER
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                      "The ifIndex value which identifies the
                       port controlling a loadsharing group
                       of ports which includes
                       extremePortLoadshareSlaveIfIndex."
        ::= { extremePortLoadshare2Entry 1 }

    extremePortLoadshare2SlaveIfIndex OBJECT-TYPE
--              SYNTAX INTEGER
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                      "The ifIndex value which identifies the
                       port which is a member of a loadsharing 
                       group controlled by extremePortLoadshare2MasterIfIndex."
        ::= { extremePortLoadshare2Entry 2 }

    extremePortLoadshare2Algorithm OBJECT-TYPE
                SYNTAX INTEGER { ingressPortOffset (1),
                                 hash (2),
                                 roundRobin (3) }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                      "This value identifies the load sharing algorithm
                      to be used for this group of load shared ports."
        ::= { extremePortLoadshare2Entry 3 }

    extremePortLoadshare2Status OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The row status variable, used according to
                        row installation and removal conventions."
        ::= { extremePortLoadshare2Entry 4 }

----
-- Port Rate Shape Table
----
    extremePortRateShapeTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortRateShapeEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "A list of ports that have ingress rate limiting
                       enforced."
    ::= { extremePort 4 }

    extremePortRateShapeEntry OBJECT-TYPE
        SYNTAX  ExtremePortRateShapeEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "An entry that is either a rate limited or
                       a loopback port. Any vlan that has rate
               limited ports should have one loopback port
               defined. The traffic parameters for the rate
               limited ports correspond to those that are
               defined for the loopback port in the
               extremePerPortQosTable."
                INDEX { ifIndex, extremeVlanIfIndex }
    ::= { extremePortRateShapeTable 1 }

    ExtremePortRateShapeEntry ::= SEQUENCE {
           extremePortRateShapePortType      INTEGER,
        extremePortRateShapeLoopbackTag   INTEGER,
                extremePortRateShapeStatus        RowStatus 
    }

    extremePortRateShapePortType OBJECT-TYPE
                SYNTAX INTEGER 
                {
                                rateLimited(1),
                                loopBack(2)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                      "Whether a loopback or rate limited port." 
        ::= { extremePortRateShapeEntry 1 }

    extremePortRateShapeLoopbackTag OBJECT-TYPE
        SYNTAX     INTEGER (2..4094)
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "An unique internal tag that will needs to be set
            up for the vlan corresponding to this entry for
            adding ingress rate limited ports to the corresponding
            vlan."
        ::= { extremePortRateShapeEntry 2 }

    extremePortRateShapeStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The row status variable, used according to
                        row installation and removal conventions."
        ::= { extremePortRateShapeEntry 3 }

--
-- Per Port QoSReport Table
--
    extremePortUtilizationTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremePortUtilizationEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Global Qos Profiles are defined in the
                extremeQosProfileTable. This table contains a list
                    of ports for which certain QoS parms are reported."
        ::= { extremePort 5 }

    extremePortUtilizationEntry    OBJECT-TYPE
        SYNTAX    ExtremePortUtilizationEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual QoSReport Entry."
        INDEX {ifIndex}
        ::= {extremePortUtilizationTable 1}

    ExtremePortUtilizationEntry ::= SEQUENCE {
                extremePortUtilizationAvgTxBw        Integer32,
                extremePortUtilizationAvgRxBw        Integer32,
                extremePortUtilizationPeakTxBw       Integer32,
                extremePortUtilizationPeakRxBw       Integer32
        }

        extremePortUtilizationAvgTxBw  OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported average bandwidth in the txmit direction. When displayed
                    it shows as an Integer value i.e 99.99% is displayed as 9999."
                ::= {extremePortUtilizationEntry 1 }

                
        extremePortUtilizationAvgRxBw    OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX    Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                 "The reported average bandwidth in the receive direction. When displayed
                    it shows as an Integer value i.e 99.99% is displayed as 9999." 
                ::= {extremePortUtilizationEntry 2 }

        extremePortUtilizationPeakTxBw  OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The reported peak bandwidth in the txmit direction. When displayed
                    it shows as an Integer value i.e 99.99% is displayed as 9999."
                ::= {extremePortUtilizationEntry 3 }


        extremePortUtilizationPeakRxBw  OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The reported peak bandwidth in the receive direction. When displayed
                    it shows as an Integer value i.e 99.99% is displayed as 9999."
                ::= {extremePortUtilizationEntry 4 }

--
-- Per Port Information Table
--
       extremePortInfoTable   OBJECT-TYPE
               SYNTAX  SEQUENCE OF ExtremePortInfoEntry
               MAX-ACCESS  not-accessible
               STATUS current
               DESCRIPTION
                "This table contains a list of port information."
               ::= { extremePort 6 }

       extremePortInfoEntry   OBJECT-TYPE
               SYNTAX  ExtremePortInfoEntry
               MAX-ACCESS      not-accessible
               STATUS  current
               DESCRIPTION
                   "An individual Port Information Entry."
               INDEX {ifIndex}
               ::= {extremePortInfoTable 1}

       ExtremePortInfoEntry ::= SEQUENCE {
               extremePortInfoFilterUpCounter        Counter32,
               extremePortInfoFilterDownCounter      Counter32
       }

       extremePortInfoFilterUpCounter  OBJECT-TYPE
               SYNTAX  Counter32
--             MAX-ACCESS  read-write
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The reported Port Filter up counter value.
                  This counter indicates the number of times a port's link
                  state has transitioned from DOWN to UP state. "
               ::= {extremePortInfoEntry 1 }


       extremePortInfoFilterDownCounter        OBJECT-TYPE
               SYNTAX        Counter32
--             MAX-ACCESS  read-write
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The reported Port Filter down counter value.
                  This counter indicates the number of times a port's link
                  state has transitioned from UP to DOWN state. "
               ::= {extremePortInfoEntry 2 }

--
-- extremePortXenpakVendor Table
--

        extremePortXenpakVendorTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortXenpakVendorEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "A table of Extreme Xenpak Module Vendor Name
                        and type information. Contains a row 
                        for only those ports that are part of 
                        Xenpak module ."
    ::= { extremePort 7 }

    extremePortXenpakVendorEntry OBJECT-TYPE
        SYNTAX  ExtremePortXenpakVendorEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "Vendor name and type for Xenpak module."
               INDEX { ifIndex }
    ::= { extremePortXenpakVendorTable 1 }

        ExtremePortXenpakVendorEntry ::=  SEQUENCE {
                extremePortXenpakVendorName DisplayString
        } 

          extremePortXenpakVendorName OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..22))
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                      "A human-readable string representing Vendor name 
                        of this module.
                        This string should be the same for all entries
                        having the same Xenpak module: 
                        this entry may not be modified."
    ::= { extremePortXenpakVendorEntry 1 }

--
-- Per Port Ingress Statistics Table
--

        extremePortIngressStats OBJECT IDENTIFIER
        ::= { extremePort 8 }

        extremePortIngressStatsPortTable        OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremePortIngressPortStatsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                    "Port ingress statistics are returned for ports which
                    support ingress queuing. This table contains a list
                    of counters for each port."
                ::= { extremePortIngressStats 1 }

        extremePortIngressPortStatsEntry        OBJECT-TYPE
                SYNTAX  ExtremePortIngressPortStatsEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual IngressStats Entry."
                INDEX {ifIndex}
                ::= {extremePortIngressStatsPortTable 1}

        ExtremePortIngressPortStatsEntry ::= SEQUENCE {
--                extremePortIngressStatsPortIndex          INTEGER,
                extremePortIngressStatsLinkStatus         INTEGER,
                extremePortIngressStatsPortHighPriBytes   Counter64,
                extremePortIngressStatsPortLowPriBytes    Counter64,
                extremePortIngressStatsPortDroppedBytes   Counter64,
                extremePortIngressStatsTxXoff             Counter64 
        }


--        extremePortIngressStatsPortIndex  OBJECT-TYPE
--              SYNTAX  INTEGER
--                MAX-ACCESS  read-only  
--                STATUS current
--                DESCRIPTION
--                   "The index of the port being queried."
--                ::= {extremePortIngressPortStatsEntry 1 }

        extremePortIngressStatsLinkStatus  OBJECT-TYPE
                SYNTAX  INTEGER {
                        ready(1),
                        active(2),
                        disabled(3),
                        notPresent(4)
                }
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The current status of the link. Ready indicates the port is ready
                   to accept a link; Active indicates the link is present at this port;
                   Disabled shows that the link is disabled at this port; Not Present
                   means the link is not present at this port."
                ::= {extremePortIngressPortStatsEntry 1 }

                
        extremePortIngressStatsPortHighPriBytes OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                 "The sum of all per queue CIR counts for this port, which indicates the
                 bytes forwarded for high-priority packets." 
                ::= {extremePortIngressPortStatsEntry 2 }

        extremePortIngressStatsPortLowPriBytes  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The sum of all per queue PR counts for this port, which indicates the
                   bytes forwarded for low-priority packets."
                ::= {extremePortIngressPortStatsEntry 3 }

        extremePortIngressStatsPortDroppedBytes  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The total number of bytes dropped for this port."
                ::= {extremePortIngressPortStatsEntry 4 }
                
        extremePortIngressStatsTxXoff  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The number of XOFF Flow Control packets sent from this port due to
                 receive traffic congestion."
                ::= {extremePortIngressPortStatsEntry 5 }
                

--
-- Per Queue Ingress Statistics Table
--        

        extremePortIngressStatsQueueTable       OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremePortIngressQueueStatsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                    "Port ingress statistics are returned for ingress queues. 
                    This table contains a list of counters for each ingress
                    queue."
                ::= { extremePortIngressStats 2 }

        extremePortIngressQueueStatsEntry       OBJECT-TYPE
                SYNTAX  ExtremePortIngressQueueStatsEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual IngressStatsQueue Entry."
                INDEX {ifIndex,
                       extremePortIngressStatsQueueIndex}
                ::= {extremePortIngressStatsQueueTable 1}

        ExtremePortIngressQueueStatsEntry ::= SEQUENCE {
--                extremePortIngressStatsQueuePortIndex      INTEGER,
--                extremePortIngressStatsQueueIndex          INTEGER,
                extremePortIngressStatsQueueIndex          Integer32,
                extremePortIngressStatsQueueHighPriBytes   Counter64,
                extremePortIngressStatsQueueLowPriBytes    Counter64,
--                extremePortIngressStatsQueuePercentDropped INTEGER
                extremePortIngressStatsQueuePercentDropped Integer32
        }
        
--        extremePortIngressStatsQueuePortIndex  OBJECT-TYPE
--                SYNTAX  INTEGER
--                MAX-ACCESS  read-only  
--                STATUS current
--                DESCRIPTION
--                   "The index of the port being queried."
--                ::= {extremePortIngressQueueStatsEntry 1 }


        extremePortIngressStatsQueueIndex  OBJECT-TYPE
--              SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The ingress queue being queried."
                ::= {extremePortIngressQueueStatsEntry 1 }

        extremePortIngressStatsQueueHighPriBytes        OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                 "The sum of all per queue CIR counts for this queue, which indicates the
                 bytes forwarded for high-priority packets." 
                ::= {extremePortIngressQueueStatsEntry 2 }

        extremePortIngressStatsQueueLowPriBytes  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The sum of all per queue PR counts for this queue, which indicates the
                   bytes forwarded for low-priority packets."
                ::= {extremePortIngressQueueStatsEntry 3 }

        extremePortIngressStatsQueuePercentDropped  OBJECT-TYPE
--                SYNTAX  INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The percentage of receive bytes dropped by this queue relative to the total
                 number of bytes input to this queue."
                ::= {extremePortIngressQueueStatsEntry 4 }

                

--
-- Per Port Egress Rate Limit Table
--
        extremePortEgressRateLimitTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremePortEgressRateLimitEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                    "Port egress rate limit statistics for a port."
                ::= { extremePort 9 }

        extremePortEgressRateLimitEntry OBJECT-TYPE
                SYNTAX  ExtremePortEgressRateLimitEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An individual EgressRateLimit Entry."
                INDEX {ifIndex}
                ::= {extremePortEgressRateLimitTable 1}

        ExtremePortEgressRateLimitEntry ::= SEQUENCE {
--                extremePortEgressRateLimitPortIndex          INTEGER,
                extremePortEgressRateLimitType               INTEGER,
--                extremePortEgressRateLimitValue              INTEGER
                extremePortEgressRateLimitValue              Integer32
        }
        
--        extremePortEgressRateLimitPortIndex  OBJECT-TYPE
--                SYNTAX  INTEGER
--                MAX-ACCESS  read-only  
--                STATUS current
--                DESCRIPTION
--                   "The index of the port being queried."
--                ::= {extremePortEgressRateLimitEntry 1 }

        extremePortEgressRateLimitType  OBJECT-TYPE
                SYNTAX  INTEGER {
                        percentage(1),
                        kbps(2),
                        mbps(3)
                }
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The type of the current egress rate setting. A value of 1 
                   signifies that the egress rate limit value is represented by
                   a percentage of the maximum configurable port bandwidth. A value 
                   of 2 or 3 signifies the rate is configured in Kbps or Mbps
                   respectively."
                ::= {extremePortEgressRateLimitEntry 1 }

                
        extremePortEgressRateLimitValue OBJECT-TYPE
--                SYNTAX        INTEGER
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                 "The configured egress rate value." 
                ::= {extremePortEgressRateLimitEntry 2 }

--
-- Clients connected to the Port
--
        extremeWiredClientTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeWiredClientEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                    "This table contains the entries for authenticated Clinets."
                ::= { extremePort 10 }

extremeWiredClientEntry OBJECT-TYPE
        SYNTAX          ExtremeWiredClientEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
        "An entry in the extremeWiredClientTable."
    INDEX {ifIndex, extremeWiredClientID}
        ::= { extremeWiredClientTable 1 }

ExtremeWiredClientEntry ::= SEQUENCE {
        extremeWiredClientID                     MacAddress,
        extremeWiredClientState                  INTEGER,
--        extremeWiredClientVLAN                   INTEGER,
        extremeWiredClientVLAN                   Integer32,
--        extremeWiredClientPriority               INTEGER,
        extremeWiredClientPriority               Integer32,
        extremeWiredClientAuthType               ClientAuthType,
                extremeWiredClientLastStateChangeTime    TimeTicks,
        extremeWiredClientIP                     IpAddress}

extremeWiredClientID OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Unique MAC Address of the station for which this address
         table entry pertains."
    ::= { extremeWiredClientEntry 1 }

extremeWiredClientState OBJECT-TYPE
    SYNTAX INTEGER { authenticated (1),
                        unauthenticated (2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This attribute shall indicate the current state of the client. 
         The attribute is enumerated as follows:

        1 - Authenticated - client is authenticated.
        2 - Unauthenticated - the client is connect but unauthenticated.
        "
    ::= { extremeWiredClientEntry 2 }

extremeWiredClientVLAN OBJECT-TYPE
--    SYNTAX          INTEGER
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is the per-client VLAN which was pushed over
         by a RADIUS server or other mechanism."
    ::= { extremeWiredClientEntry 3 }

extremeWiredClientPriority OBJECT-TYPE
--    SYNTAX          INTEGER
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is a per-client 802.1p value which was either
         configured by the RADIUS server or statically through
         the port configuration table."
    ::= { extremeWiredClientEntry 4 }

extremeWiredClientAuthType OBJECT-TYPE
    SYNTAX          ClientAuthType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This is an indication of what access method was
         used to authenticated the client."
    ::= { extremeWiredClientEntry 5 }

extremeWiredClientLastStateChangeTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the sysUpTime of the switch when the clients state changed last"
    ::= { extremeWiredClientEntry 6 }

extremeWiredClientIP OBJECT-TYPE
    SYNTAX          IpAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "IP Address of the wired client."
    ::= { extremeWiredClientEntry 7 }

--
-- Per Port Utilization Extension Table
--
    extremePortUtilizationExtnTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremePortUtilizationExtnEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Global Qos Profiles are defined in the
             extremeQosProfileTable. This table contains a list
             of ports for which certain QoS parms are reported."
        ::= { extremePort 11 }

    extremePortUtilizationExtnEntry    OBJECT-TYPE
        SYNTAX    ExtremePortUtilizationExtnEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual QoSReport Entry."
        INDEX {ifIndex}
        ::= {extremePortUtilizationExtnTable 1}

    ExtremePortUtilizationExtnEntry ::= SEQUENCE {
                extremePortUtilizationAvgTxPkts      Integer32,
                extremePortUtilizationAvgRxPkts      Integer32,
                extremePortUtilizationPeakTxPkts     Integer32,
                extremePortUtilizationPeakRxPkts     Integer32,
                extremePortUtilizationAvgTxBytes     Integer32,
                extremePortUtilizationAvgRxBytes     Integer32,
                extremePortUtilizationPeakTxBytes    Integer32,
                extremePortUtilizationPeakRxBytes    Integer32
        }

        extremePortUtilizationAvgTxPkts  OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of average packets in the transmit direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 1 }

        extremePortUtilizationAvgRxPkts  OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of average packets in the receive direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 2 }
                
        extremePortUtilizationPeakTxPkts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of peak packets in the transmit direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 3 }

        extremePortUtilizationPeakRxPkts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of peak packets in the receive direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 4 }

        extremePortUtilizationAvgTxBytes  OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of average bytes in the transmit direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 5 }

        extremePortUtilizationAvgRxBytes  OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of average bytes in the receive direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 6 }
                
        extremePortUtilizationPeakTxBytes OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of peak bytes in the transmit direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 7 }

        extremePortUtilizationPeakRxBytes OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The reported number of peak bytes in the receive direction 
                    per second."
                ::= {extremePortUtilizationExtnEntry 8 }

--
-- Per Port QoS Stats Table
--

    extremePortQosStatsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortQosStatsEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists Ports Qos information for either 
             ingress or egress"
        ::= { extremePort 12 }

    extremePortQosStatsEntry OBJECT-TYPE
        SYNTAX  ExtremePortQosStatsEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "An port related qos information for each   
            port entry." 
        INDEX {ifIndex, extremePortQosIngress}
    ::= { extremePortQosStatsTable 1 }

    ExtremePortQosStatsEntry ::=
        SEQUENCE {
            extremePortQosIngress
                ExtremePortTrafficDirection,
            extremePortQP0TxBytes
                Counter64,
            extremePortQP0TxPkts
                Counter64,
            extremePortQP1TxBytes
                Counter64,
            extremePortQP1TxPkts
                Counter64,
            extremePortQP2TxBytes
                Counter64,
            extremePortQP2TxPkts
                Counter64,
            extremePortQP3TxBytes
                Counter64,
            extremePortQP3TxPkts
                Counter64,
            extremePortQP4TxBytes
                Counter64,
            extremePortQP4TxPkts
                Counter64,
            extremePortQP5TxBytes
                Counter64,
            extremePortQP5TxPkts
                Counter64,
            extremePortQP6TxBytes
                Counter64,
            extremePortQP6TxPkts
                Counter64,
            extremePortQP7TxBytes
                Counter64,
            extremePortQP7TxPkts
                Counter64
        }

    extremePortQosIngress OBJECT-TYPE
        SYNTAX  ExtremePortTrafficDirection
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "Indicates whether the port is in ingress/egress"       
    ::= { extremePortQosStatsEntry 1 }

    extremePortQP0TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 0 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 2 }

    extremePortQP0TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 0 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 3 }

    extremePortQP1TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 1 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 4 }

    extremePortQP1TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 1 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 5 }

    extremePortQP2TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 2 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 6 }

    extremePortQP2TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 2 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 7 }

    extremePortQP3TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 3 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 8 }

    extremePortQP3TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 3 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 9 }

    extremePortQP4TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 4 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 10 }

    extremePortQP4TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 4 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 11 }

    extremePortQP5TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 5 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 12 }

    extremePortQP5TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 5 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 13 }

    extremePortQP6TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 6 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 14 }

    extremePortQP6TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 6 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 15 }

    extremePortQP7TxBytes OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 7 bytes gets transmitted from this port"
    ::= { extremePortQosStatsEntry 16 }

    extremePortQP7TxPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 7 packets gets transmitted from this port"
    ::= { extremePortQosStatsEntry 17 }

--
-- Per Port Mau Table
--
extremePortMau OBJECT IDENTIFIER
::= {  extremePort 13 }

extremePortMauTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremePortMauEntry
    MAX-ACCESS  not-accessible
    STATUS current
    DESCRIPTION
        "Port Optics Status Table."
    ::= { extremePortMau 1 }

extremePortMauEntry    OBJECT-TYPE
    SYNTAX      ExtremePortMauEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An individual Port Mau Entry."
    INDEX { ifIndex }
    ::= {extremePortMauTable 1}

ExtremePortMauEntry ::= SEQUENCE {
    extremePortMauType DisplayString,
    extremePortMauVendorName DisplayString,
    extremePortMauStatus INTEGER
    }

extremePortMauType OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..100))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
         "This object identifies the MAU type."
    ::= {extremePortMauEntry 1 }

extremePortMauVendorName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..100))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
         "This object identifies the MAU Vendor Name."
    ::= {extremePortMauEntry 2 }

extremePortMauStatus  OBJECT-TYPE
    SYNTAX INTEGER {
        inserted(1),
        empty(2)
        }
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "This object idetifies the status of the mau for this interface."
    ::= {extremePortMauEntry 3 }

extremePortMauTraps OBJECT IDENTIFIER
    ::= {extremePortMau 2}

extremePortMauTrapsPrefix OBJECT IDENTIFIER
    ::= { extremePortMauTraps 0}

extremePortMauChangeTrap NOTIFICATION-TYPE
    OBJECTS { ifIndex,
             extremePortMauType,
             extremePortMauStatus
             }
    STATUS      current
    DESCRIPTION "This trap is sent whenever a  MAU is inserted or removed. When the mau is inserted, the value of extremePortMauStatus will be 'insrted' and extremePortMauType indicates the type of the mau inserted. If mau is removed, the value of extremePortMauStatus is empty and the type of the mau will be NONE"
    ::= { extremePortMauTrapsPrefix 1 }

END

-- ################################################################################

