-- Extreme Networks ExtremeXOS 16.2.4.5 Proprietary MIB


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

EXTREME-BASE-MIB DEFINITIONS ::= BEGIN

    IMPORTS
    enterprises            FROM RFC1155-SMI
    TEXTUAL-CONVENTION     FROM SNMPv2-TC
    MODULE-IDENTITY	   FROM SNMPv2-SMI;



    --  Organization & Product branches
    extremenetworks MODULE-IDENTITY
                LAST-UPDATED "201505180000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Base MIB"

                REVISION    "201504230000Z"  --  Thu Apr 23 2015
                DESCRIPTION "Added extremeMacAuthMIB at extremeAgent.44"

                REVISION    "201505180000Z"  --  Mon May 18 2015
                DESCRIPTION "Added extremeErps at extremeAgent.46"

        ::= { enterprises 1916 }

    extremeV1Traps         OBJECT IDENTIFIER ::= { extremenetworks 0 }
    extremeAgent           OBJECT IDENTIFIER ::= { extremenetworks 1 }
    extremeProduct         OBJECT IDENTIFIER ::= { extremenetworks 2 }
    extremeMisc            OBJECT IDENTIFIER ::= { extremenetworks 3 }
    extremeV2Traps         OBJECT IDENTIFIER ::= { extremenetworks 4 } 

    --
    -- Extreme Products
    --    
    summit1                OBJECT IDENTIFIER ::= { extremeProduct 1 }
                           -- 8 x 1Gbps

    summit2                OBJECT IDENTIFIER ::= { extremeProduct 2 }
                           -- 2 x 1Gbps, 16 x 10/100Mbps

    summit3                OBJECT IDENTIFIER ::= { extremeProduct 3 }
                           -- 1 x 1Gbps, 24 x 10/100Mbps

    summit4                OBJECT IDENTIFIER ::= { extremeProduct 4 }
                           -- 6 x 1Gbps, 16 x 10/100Mbps UTP

    summit4fx              OBJECT IDENTIFIER ::= { extremeProduct 5 }
                           -- 6 x 1Gbps, 16 x 10/100Mbps fiber FX

    summit48               OBJECT IDENTIFIER ::= { extremeProduct 6 }
                           -- 2 x 1Gbps, 48 x 10/100Mbps

    summit24               OBJECT IDENTIFIER ::= { extremeProduct 7 }
                           -- 1 x 1Gbps, 24 x 10/100Mbps

    blackDiamond6800       OBJECT IDENTIFIER ::= { extremeProduct 8 }
                           -- chassis based system with dual msm and 8 switching cards

    blackDiamond6808       OBJECT IDENTIFIER ::= { extremeProduct 11 }
                           -- black diamond with the inferno chipset aka MSM64

    summit7iSX             OBJECT IDENTIFIER ::= { extremeProduct 12 }
                           -- 4 x 1Gbps GBIC, 28 x 1Gbps MT-RJ

    summit7iTX             OBJECT IDENTIFIER ::= { extremeProduct 13 }
                           -- 4 x 1Gbps GBIC, 28 x 10/100/1000 Base-TX

    summit1iTX             OBJECT IDENTIFIER ::= { extremeProduct 14 }
                           -- 2 x 1Gbps MT-RJ, 6 x 10/100/1000 Base-TX inferno chipset

    summit5i               OBJECT IDENTIFIER ::= { extremeProduct 15 }
                           -- 4 x 1Gbps GBIC, 12 x 1Gbps MT-RJ inferno chipset

    summit48i              OBJECT IDENTIFIER ::= { extremeProduct 16 }
                           -- 2 x 1Gbps GBIC, 48 x 10/100Mbps inferno chipset

    alpine3808             OBJECT IDENTIFIER ::= { extremeProduct 17 }
                           -- mini chassis based on the inferno chipset with 8 switching cards

    summit1iSX             OBJECT IDENTIFIER ::= { extremeProduct 19 }
                           -- 2 x 1Gbps GBIC, 6 x 1Gbps MT-RJ inferno chipset

    alpine3804             OBJECT IDENTIFIER ::= { extremeProduct 20 }
                           -- mini chassis based on the inferno chipset with 4 switching cards

    summit5iLX             OBJECT IDENTIFIER ::= { extremeProduct 21 }
                           -- 4 x 1Gbps GBIC, 12 x 10/100/1000 Base-TX inferno chipset

    summit5iTX             OBJECT IDENTIFIER ::= { extremeProduct 22 }
                           -- 4 x 1Gbps GBIC, 12 x 10/100/1000 Base-TX inferno chipset

    enetSwitch24Port       OBJECT IDENTIFIER ::= { extremeProduct 23 }
                           --  24 x 10/100 Mbps  

    blackDiamond6816       OBJECT IDENTIFIER ::= { extremeProduct 24 }
                           -- black diamond with 4 msm's and 16 switching cards

    summit24e3             OBJECT IDENTIFIER ::= { extremeProduct 25 }
                           -- 2 x 1Gbps GBIC, 24 x 10/100 Base-TX

    alpine3802             OBJECT IDENTIFIER ::= { extremeProduct 26 }
                           -- mini chassis based on the inferno chipset with 2-3 switching cards

    blackDiamond6804       OBJECT IDENTIFIER ::= { extremeProduct 27 }
                           -- chassis based system with 2 msm's and 4 switching cards

    summit48si             OBJECT IDENTIFIER ::= { extremeProduct 28 }
                           -- 2 x 1Gbps GBIC, 48 x 10/100Mbps, 1u
            
    summitPx1              OBJECT IDENTIFIER ::= { extremeProduct 30 }
                           --    1 x 1Gbps GBIC

    summit24e2TX           OBJECT IDENTIFIER ::= { extremeProduct 40 }
                           --  2 x 1000Base-T, 24 x 10/100 Base-TX

    summit24e2SX           OBJECT IDENTIFIER ::= { extremeProduct 41 }
                           --  2 x 1Gbps GBIC, 24 x 10/100 Base-SX

    summit200-24           OBJECT IDENTIFIER ::= { extremeProduct 53 }
                           --  2 x 1Gbps GBIC, 24 x 10/100 Base-TX

    summit200-48           OBJECT IDENTIFIER ::= { extremeProduct 54 }
                           --  2 x 1Gbps GBIC, 48 x 10/100 Base-TX

    summit300-48           OBJECT IDENTIFIER ::= { extremeProduct 55 }
                           --  2 x 1Gbps GBIC, 48 x 10/100 Base-TX POE

    bd10808                OBJECT IDENTIFIER ::= { extremeProduct 56 }
                           -- BlackDiamond 10808 Chassis
 
    summit400-48t          OBJECT IDENTIFIER ::= { extremeProduct 58 }
                           --  4 x 1Gbps fiber/copper, 44 x 1000 Base-T
 
    summit300-24           OBJECT IDENTIFIER ::= { extremeProduct 61 }
                           --  2 x 1Gbps GBIC, 24 x 10/100 Base-TX POE

    bd8810	           OBJECT IDENTIFIER ::= { extremeProduct 62 }
                           --  BlackDiamond 8810 Chassis

    summit400-24t           OBJECT IDENTIFIER ::= { extremeProduct 63 }
                           --  4 x 1Gbps fiber/copper, 20 x 1Gbps fiber

    summit400-24p           OBJECT IDENTIFIER ::= { extremeProduct 64 }
                           --  4 x 1Gbps fiber/copper, 20 x 1Gbps fiber

    summitX450-24x   OBJECT IDENTIFIER ::= { extremeProduct 65 }
                           --  4 x 1Gbps fiber/copper, 20 x 1Gbps fiber, 2 x 10G uplink
                  
    summitX450-24t   OBJECT IDENTIFIER ::= { extremeProduct 66 }
                           --  4 x 1Gbps fiber/copper, 20 x 1000 Base-T, 2 x 10G uplink
                  
    summitStack		   OBJECT IDENTIFIER ::= { extremeProduct 67 }
			   -- A stacked version of the Summit 200/300/4000

    summitWM100		   OBJECT IDENTIFIER ::= { extremeProduct 68 }
			   -- The FlightPath wireless controller with 10/100 ports

    summitWM1000	   OBJECT IDENTIFIER ::= { extremeProduct 69 }
			   -- The FlightPath wireless controller with 1 gig ports

    summit200-24fx	   OBJECT IDENTIFIER ::= { extremeProduct 70 }
			   -- 24 100FX fiber ports + 2 combo Gig uplink ports

	
    summitX450a-24t 	   OBJECT IDENTIFIER ::= { extremeProduct 71 }
			   -- 24 combo ports + 2 optional 10 gig ports + 
			   -- 4 combo ports + 2 stacking ports

    summitX450e-24p 	   OBJECT IDENTIFIER ::= { extremeProduct 72 }
			   -- PoE version of summitX450e-24p 



    bd8806                 OBJECT IDENTIFIER ::= { extremeProduct 74 }
                           -- Black Diamond 8800 6 slot chassis

    altitude350		   OBJECT IDENTIFIER ::= {extremeProduct 75 }
			   -- The altitude 350 product

    summitX450a-48t        OBJECT IDENTIFIER ::= {extremeProduct 76 }


    bd12804                OBJECT IDENTIFIER ::= {extremeProduct 77 }
                           -- bd12804 Chassis 


    summitX450e-48p   OBJECT IDENTIFIER ::= { extremeProduct 79 }
                           -- PoE version of the summitX450a-48t 

    summitX450a-24tDC   OBJECT IDENTIFIER ::= { extremeProduct 80 }
                           -- summitX450a-24t with DC power supply

--  OID 81 is deprecated.

    summitX450a-24xDC   OBJECT IDENTIFIER ::= { extremeProduct 82 }
                      -- summitX450a-24x with DC power supply

    sentriantCE150   OBJECT IDENTIFIER ::= { extremeProduct 83 }

                                    -- sentriantCE150, this is security appliance.  


    summitX450a-24x   OBJECT IDENTIFIER ::= { extremeProduct 84 }
                                    --  4 x 1Gbps fiber/copper, 20 x 1Gbps fiber, 2 x 10G uplink


    bd12802   OBJECT IDENTIFIER ::= { extremeProduct 85 }
                                    -- 3-slot chassis, 1 MSM 2 IO modules


     altitude300 OBJECT IDENTIFIER ::= { extremeProduct 86 }
				-- altitude300 is the access point box. 


     summitX450a-48tDC   OBJECT IDENTIFIER ::= { extremeProduct 87 }
                           -- summitX450a-48t with DC power supply


     summitX250-24t     OBJECT IDENTIFIER ::= { extremeProduct 88 }

                           -- summitX250e: 24 10/100 copper ports, 2 100M fiber combo ports, 2 x 1G uplink option module

 

     summitX250-24p     OBJECT IDENTIFIER ::= { extremeProduct 89 }

                           -- PoE version of the summitX250-24t

 

     summitX250-24x     OBJECT IDENTIFIER ::= { extremeProduct 90 }

                           -- summitX250e: 24 SFP 100M fiber ports, 2 10/100 copper combo ports, 2 x 1G uplink option module

   

     summitX250-48t     OBJECT IDENTIFIER ::= { extremeProduct 91 }

                           -- summitX250e: 48 10/100 copper ports, 2 100M fiber combo ports, 2 x 1G uplink option module

 

     summitX250-48p     OBJECT IDENTIFIER ::= { extremeProduct 92 }

                           -- PoE version of the summitX250-48t

    summitVer2Stack     OBJECT IDENTIFIER ::= { extremeProduct 93 }
                           -- A stacked version of the EXOS Summit X450's, X250's


    summitWM200 OBJECT IDENTIFIER ::= { extremeProduct 94 }

    summitWM2000 OBJECT IDENTIFIER ::= { extremeProduct 95 }

    summitWM100Lite OBJECT IDENTIFIER ::= { extremeProduct 96 }

    summitX250-24tDC   OBJECT IDENTIFIER ::= { extremeProduct 97 }
                           -- summitX250e: DC powered 24 10/100 copper ports, 2 x 1G fiber combo ports

    summitX250-24xDC   OBJECT IDENTIFIER ::= { extremeProduct 98 }
                           -- summitX250e: DC powered 24 SFP 100M fiber ports, 2 x 1G copper combo ports

    summitX250-48tDC   OBJECT IDENTIFIER ::= { extremeProduct 99 }
                           -- summitX250e: DC powered 48 10/100 copper ports, 2 x 1G fiber combo ports

    summitX150-24t     OBJECT IDENTIFIER ::= { extremeProduct 100 }
                           -- summitX150: Layer 2 24 10/100 copper ports, 2 x 1G fiber combo ports

    summitX150-24tDC   OBJECT IDENTIFIER ::= { extremeProduct 101 }
                           -- summitX150: Layer 2 DC powered 24 10/100 copper ports, 2 x 1G fiber combo ports

    summitX150-24p     OBJECT IDENTIFIER ::= { extremeProduct 102 }
                           -- Layer 2 PoE version of the summitX150-24t

    summitX150-24x     OBJECT IDENTIFIER ::= { extremeProduct 103 }
                           -- summitX150: Layer 2 24 SFP 100M fiber ports, 2 x 1G copper combo ports

    summitX150-24xDC   OBJECT IDENTIFIER ::= { extremeProduct 104 }
                           -- summitX150: Layer 2 DC powered 24 SFP 100M fiber ports, 2 x 1G copper combo ports

    summitX150-48t     OBJECT IDENTIFIER ::= { extremeProduct 105 }
                           -- summitX150: Layer 2 48 10/100 copper ports, 2 x 1G fiber combo ports

    summitX150-48tDC   OBJECT IDENTIFIER ::= { extremeProduct 106 }
                           -- summitX150: Layer 2 DC powered 48 10/100 copper ports, 2 x 1G fiber combo ports

    summitX150-48p     OBJECT IDENTIFIER ::= { extremeProduct 107 }
                           -- Layer 2 PoE version of the summitX150-48t

    sentriantAGSW      OBJECT IDENTIFIER ::= { extremeProduct 108 }
                          -- Sentriant AG Network Access Control Software

    sentriantAG200     OBJECT IDENTIFIER ::= { extremeProduct 109 }
                          -- Sentriant AG200 Network Access Control appliance

    summitWM20         OBJECT IDENTIFIER ::= { extremeProduct 110 }
                          -- Summit WM20 WLAN Controller

    summitX350-24t     OBJECT IDENTIFIER ::= { extremeProduct 111 }
                          -- Layer 2 24 10/100/1000 copper ports, 4 x 1G fiber combo ports

    summitX350-48t     OBJECT IDENTIFIER ::= { extremeProduct 112 }
                          -- Layer 2 48 10/100/1000 copper ports, 4 x 1G fiber combo ports

    summitX650-24t     OBJECT IDENTIFIER ::= { extremeProduct 113 }
                          -- 24-port SummitX650 -10GbaseT (no VIM installed)

    summitX650-24x     OBJECT IDENTIFIER ::= { extremeProduct 114 }
                          -- 24-port SummitX650 SFP+ (no VIM installed)

    sentriantNG300     OBJECT IDENTIFIER ::= { extremeProduct 115 }
                         -- Sentriant NG300 Network  Behavioral Security appliance

    altitude360        OBJECT IDENTIFIER ::= { extremeProduct 116 }
				 -- altitude360 is the Outdoor Access Point(OAP)

    altitude450        OBJECT IDENTIFIER ::= { extremeProduct 117 }
				 -- altitude450 is the Next Generation Access Point(NGAP - supports high speed 11n WLAN)

    summitX650-24x-SSns      OBJECT IDENTIFIER ::= { extremeProduct 118 }
                          -- 24-port SummitX650 SFP+ switch +  VIM1-SummitStack (10G stack ports not selected)

    summitX650-24t-SSns      OBJECT IDENTIFIER ::= { extremeProduct 119 }
                          -- 24-port SummitX650 10GBaseT switch + VIM1-SummitStack (10G stack ports not selected)

    summitX650-24x-SS        OBJECT IDENTIFIER ::= { extremeProduct 120 }
                          -- 24-port SummitX650 SFP+ switch +  VIM1-SummitStack (10G stack ports selected)

    summitX650-24t-SS        OBJECT IDENTIFIER ::= { extremeProduct 121 }
                          -- 24-port  SummitX650 10GBaseT switch +  VIM1-SummitStack (10G stack ports selected)

    summitX650-24x-10G8X     OBJECT IDENTIFIER ::= { extremeProduct 122 }
                          -- 24-port SummitX650 SFP+ switch +  VIM1-10G8X

    summitX650-24t-10G8X     OBJECT IDENTIFIER ::= { extremeProduct 123 }
                          -- 24-port SummitX650 10GBaseT switch +  VIM1-10G8X

    summitX650-24x-SS256     OBJECT IDENTIFIER ::= { extremeProduct 124 }
                          -- 24-port SummitX650 SFP+ switch +  VIM1-SummitStack256

    summitX650-24t-SS256     OBJECT IDENTIFIER ::= { extremeProduct 125 }
                          -- 24-port SummitX650 10GBaseT +  VIM1-SummitStack256

    summitX650-24x-SS512     OBJECT IDENTIFIER ::= { extremeProduct 126 }
                          -- 24-port SummitX650 SFP+ switch +  VIM1-SummitStack512

    summitX650-24t-SS512     OBJECT IDENTIFIER ::= { extremeProduct 127 }
                          -- 24-port SummitX650 10GBaseT switch +  VIM1-SummitStack512
 
    bd20808            OBJECT IDENTIFIER ::= { extremeProduct 128 }
                             -- BD20808 10 slot Chassis 2 MSMs and 8 IO blades
    
    nwi-e450a          OBJECT IDENTIFIER ::= { extremeProduct 129 }
                             -- derived from summitX450a-24t for Ericsson OEM chassis blade  
                             -- 13 copper ports
                             -- 2 fiber ports
                             -- no stacking
    
    sentriantPS200v1     OBJECT IDENTIFIER ::= { extremeProduct 130 }
                               -- Sentriant PS200 Network Security Violation Monitoring appliance

    wirelessProducts  OBJECT IDENTIFIER ::= { extremeProduct 131 }

    summitWM3700       OBJECT IDENTIFIER ::= { wirelessProducts 15 }
                             -- Summit WM3700 WLAN Controller. Manages up to 256 Access Points 

    summitWM3600       OBJECT IDENTIFIER ::= { wirelessProducts 16 }
                             -- Summit WM3600 WLAN Controller. Manages up to 48 Access Points

    summitWM3400       OBJECT IDENTIFIER ::= { wirelessProducts 18 }
                             -- 5x 10/100/1000 LAN ports, 1x 10/100/1000 WAN port
                                                    
    bd20804            OBJECT IDENTIFIER ::= {extremeProduct 132 }
                             -- BD20804 6 slot Chassis 2 MSMs and 4 IO blades

    summitX480-48t       OBJECT IDENTIFIER ::= { extremeProduct 133 }
                         -- SummitX480-48t 48-port 10/100/1000 BASE-T,4-port 100/1000 BASE-X SFP (shared)

    summitX480-48t-SS    OBJECT IDENTIFIER ::= { extremeProduct 134 }
                         -- SummitX480-48t 48-port 10/100/1000 BASE-T,4-port 100/1000 BASE-X SFP (shared)
                         -- with VIM2-SummitStack

    summitX480-48t-10G4X OBJECT IDENTIFIER ::= { extremeProduct 135 }
                         -- SummitX480-48t 48-port 10/100/1000 BASE-T,4-port 100/1000 BASE-X SFP (shared)
                         -- with VIM2-10G4X

    summitX480-48t-SS128 OBJECT IDENTIFIER ::= { extremeProduct 136 }
                         -- SummitX480-48t 48-port 10/100/1000 BASE-T,4-port 100/1000 BASE-X SFP (shared)
                         -- with VIM2-SummitStack128

    summitX480-24x       OBJECT IDENTIFIER ::= { extremeProduct 137}
                         -- SummitX480-24x 24-port 100/1000 BASE-X SFP, 12 10/100/1000 BASE-T (shared) and 2 10G XFP ports

    summitX480-24x-SS    OBJECT IDENTIFIER ::= { extremeProduct 138 }
                         -- SummitX480-24x 24-port 100/1000 BASE-X SFP, 12 10/100/1000 BASE-T (shared) and 2 10G XFP ports
                         -- with VIM2-SummitStack

    summitX480-24x-10G4X OBJECT IDENTIFIER ::= { extremeProduct 139 }
                         -- SummitX480-24x 24-port 100/1000 BASE-X SFP, 12 10/100/1000 BASE-T (shared) and 2 10G XFP ports
                         -- with VIM2-10G4X

    summitX480-24x-SS128 OBJECT IDENTIFIER ::= { extremeProduct 140 }
                         -- SummitX480-24x 24-port 100/1000 BASE-X SFP, 12 10/100/1000 BASE-T (shared) and 2 10G XFP ports
                         -- with VIM2-SummitStack128

    summitX480-48x       OBJECT IDENTIFIER ::= { extremeProduct 141 }
                         -- SummitX480-48x 48-port 100/1000 BASE-X SFP 

    summitX480-48x-SS    OBJECT IDENTIFIER ::= { extremeProduct 142 }
                         -- SummitX480-48x 48-port 100/1000 BASE-X SFP 
                         -- with VIM2-SummitStack

    summitX480-48x-10G4X OBJECT IDENTIFIER ::= { extremeProduct 143 }
                         -- SummitX480-48x 48-port 100/1000 BASE-X SFP 
                         -- with VIM2-10G4X

    summitX480-48x-SS128  OBJECT IDENTIFIER ::= { extremeProduct 144 }
                         -- SummitX480-48x 48-port 100/1000 BASE-X SFP 
                         -- with VIM2-SummitStack128

    altitude3510         OBJECT IDENTIFIER ::= { extremeProduct 145 }
                               -- Dual Radio, Indoor Access Point, IEEE 802.11a/b/g

    altitude3550         OBJECT IDENTIFIER ::= { extremeProduct 146 }
                               -- Dual Radio, Outdoor Access Point, IEEE 802.11a/b/g 

    altitude4610         OBJECT IDENTIFIER ::= { extremeProduct 148 }
                               -- Dual Radio, Indoor Access Point - Internal antennas, IEEE 802.11a/b/g/n

    altitude4620         OBJECT IDENTIFIER ::= { extremeProduct 149 }
                               -- Dual Radio, Indoor Access Point - External antennas, IEEE 802.11a/b/g/n

    summitX450e-24t      OBJECT IDENTIFIER ::= { extremeProduct 150 }
			 -- 20 10/100/1000 copper ports
			 -- 4 combo copper/fiber ports 
                         -- XGM2 2 optional 10 gig ports
                         -- 2 10G stacking ports

    summitX450e-48t      OBJECT IDENTIFIER ::= { extremeProduct 151 }
			 -- 44 10/100/1000 copper ports
			 -- 4 combo copper/fiber ports 
                         -- XGM2 2 optional 10 gig ports
                         -- 2 10G stacking ports

    summitX460-24t         OBJECT IDENTIFIER ::= { extremeProduct 152 }
                          -- Summit X460: 20-ports copper + 4-ports combo copper/fiber + 4-ports fiber

    summitX460-24p         OBJECT IDENTIFIER ::= { extremeProduct 153 }
                          -- Summit X460: 20-ports POE+ copper + 4-ports combo copper/fiber + 4-ports fiber

    summitX460-24x         OBJECT IDENTIFIER ::= { extremeProduct 154 }
                          -- Summit X460: 20-ports fiber + 4-ports combo fiber/copper + 4-ports copper

    summitX460-48t         OBJECT IDENTIFIER ::= { extremeProduct 155 }
                          -- Summit X460: 48-ports copper + 4-ports fiber

    summitX460-48p         OBJECT IDENTIFIER ::= { extremeProduct 156 }
                          -- Summit X460: 48-ports POE+ copper + 4-ports fiber

    summitX460-48x         OBJECT IDENTIFIER ::= { extremeProduct 157 }
                          -- Summit X460: 48-ports fiber

    altitude4700           OBJECT IDENTIFIER ::= {extremeProduct 158 }
                                 -- High performance dual radio or tri-radio 802.11abgn access points with 3x3 MIMO. 

    summitX480-24x-SSV80 OBJECT IDENTIFIER ::= { extremeProduct 159 }
                         -- SummitX480-24x 24-port 100/1000 BASE-X SFP, 12 10/100/1000 BASE-T (shared) and 2 10G XFP ports
                         -- with VIM2-SummitStack-V80
    
    summitX480-48x-SSV80  OBJECT IDENTIFIER ::= { extremeProduct 160 }
                         -- SummitX480-48x 48-port 100/1000 BASE-X SFP 
                         -- with VIM2-SummitStack-V80

    summitX480-48t-SSV80 OBJECT IDENTIFIER ::= { extremeProduct 161 }
                         -- SummitX480-48t 48-port 10/100/1000 BASE-T,4-port 100/1000 BASE-X SFP (shared)
                         -- with VIM2-SummitStack-V80

    summitX650-24x-40G4X OBJECT IDENTIFIER ::= { extremeProduct 162 }
                         -- SummitX650-24x 24-port 1000/10000 SFP+ switch
                         -- with VIM3-40G4X
    
    summitX650-24t-40G4X OBJECT IDENTIFIER ::= { extremeProduct 163 }
                         -- SummitX650-24t 24-port 1000/10000 BASE-T switch
                         -- with VIM3-40G4X
    
    summitX480-24x-40G4X OBJECT IDENTIFIER ::= { extremeProduct 164 }
                         -- SummitX480-24x 24-port 100/1000 BASE-X SFP, 12 10/100/1000 BASE-T (shared) and 2 10G XFP ports
                         -- with VIM3-40G4X

    summitX480-48x-40G4X OBJECT IDENTIFIER ::= { extremeProduct 165 }
                         -- SummitX480-48x 48-port 100/1000 BASE-X SFP
                         -- with VIM3-40G4X

    summitX480-48t-40G4X OBJECT IDENTIFIER ::= { extremeProduct 166 }
                         -- SummitX480-48t 48-port 10/100/1000 BASE-T,4-port 100/1000 BASE-X SFP (shared)
                         -- with VIM3-40G4X
    
    summitX670-48x       OBJECT IDENTIFIER ::= { extremeProduct 167 }
                         -- 48-port SFP+ switch 

    summitX670v-48x      OBJECT IDENTIFIER ::= { extremeProduct 168 }
                         --  48-port SFP+ switch
                         -- with VIM4-40G4X
    
    e4g-400               OBJECT IDENTIFIER ::= { extremeProduct 169 }
                          -- E4G-400 20-ports copper + 4-ports combo copper/fiber + 4-ports fiber with SyncE

    e4g-200               OBJECT IDENTIFIER ::= { extremeProduct 171 }
                          -- E4G-200 Mobile Backhaul Cell Site Router 8-port 10/100/1000, 4 port SFP

    summitX440-8t       OBJECT IDENTIFIER ::= { extremeProduct 172 }
                          -- Summit X440: 8 10/100/1000BASE-T, 4 1000BASE-X SFP ports, Summit Stack Stacking ports

    summitX440-8p       OBJECT IDENTIFIER ::= { extremeProduct 173 }
                          -- Summit X440: 8 10/100/1000BASE-T PoE+, 4 1000BASE-X SFP ports, Summit Stack Stacking ports

    summitX440-24t      OBJECT IDENTIFIER ::= { extremeProduct 174 }
                          -- Summit X440: 24 10/100/1000BASE-T, 4 1000BASE-X SFP combo ports, Summit Stack Stacking ports

    summitX440-24p      OBJECT IDENTIFIER ::= { extremeProduct 175 }
                          -- Summit X440: 24 10/100/1000BASE-T PoE+, 4 1000BASE-X SFP combo ports, Summit Stack Stacking ports

    summitX440-48t      OBJECT IDENTIFIER ::= { extremeProduct 176 }
                          -- Summit X440: 48 10/100/1000BASE-T, 4 1000BASE-X SFP combo ports, Summit Stack Stacking ports

    summitX440-48p      OBJECT IDENTIFIER ::= { extremeProduct 177 }
                          -- Summit X440: 48 10/100/1000BASE-T PoE+, 4 1000BASE-X SFP combo ports, Summit Stack Stacking ports

    summitX440-24t-10G  OBJECT IDENTIFIER ::= { extremeProduct 178 }
                          -- Summit X440: 24 10/100/1000BASE-T, 4 1000BASE-X SFP combo ports, 2 10GBASE-X SFP+

    summitX440-24p-10G  OBJECT IDENTIFIER ::= { extremeProduct 179 }
                          -- Summit X440: 24 10/100/1000BASE-T PoE+, 4 1000BASE-X SFP combo ports, 2 10GBASE-X SFP+

    summitX440-48t-10G  OBJECT IDENTIFIER ::= { extremeProduct 180 }
                          -- Summit X440: 48 10/100/1000BASE-T, 2 1000BASE-X SFP combo ports, 2 10GBASE-X SFP+

    summitX440-48p-10G  OBJECT IDENTIFIER ::= { extremeProduct 181 }
                          -- Summit X440: 48 10/100/1000BASE-T PoE+, 2 1000BASE-X SFP combo ports, 2 10GBASE-X SFP+

    ags100-24t OBJECT IDENTIFIER ::= { extremeProduct 182 }
                         --	AGS100-24t
                         --	AGS 24-port TX Gig switch with 4 combo SFP 1000 Mbps ports
 
    ags150-24p OBJECT IDENTIFIER ::= { extremeProduct 183 }
                         --	AGS150-24p
                         --	AGS 24-port TX PoE 10G stack switch with 4 combo SFP 1000 Mbps ports 
                         -- and 2 CX4 10G Stacking ports
                         
    bdx8                 OBJECT IDENTIFIER ::= { extremeProduct 170 }
                           --  BlackDiamond X 8 Slot Chassis

    summitX670v-48t      OBJECT IDENTIFIER ::= { extremeProduct 184 }
                         -- 48 port 10GBASE-T switch
                         -- with 4 SFP+ combo ports and VIM4-40G4X optional card

    summitX440-L2-24t  OBJECT IDENTIFIER ::= { extremeProduct 185 }
                          -- Summit X440 L2 only: 24 10/100/1000BASE-T, 4 1000BASE-X SFP combo ports, Summit Stack is not supported

    summitX440-L2-48t  OBJECT IDENTIFIER ::= { extremeProduct 186 }
                          -- Summit X440 L2 only: 48 10/100/1000BASE-T, 4 1000BASE-X SFP combo ports, Summit Stack is not supported

    e4g-200-12x         OBJECT IDENTIFIER ::= { extremeProduct 187 }
                          -- E4G-200-12x Mobile Backhaul Cell Site Router 12 port SFP 

    summitX440-24x      OBJECT IDENTIFIER ::= { extremeProduct 188 }
                          -- Summit X440: 24 1000BASE-X SFP ports, Summit Stack Stacking ports

    summitX440-24x-10g  OBJECT IDENTIFIER ::= { extremeProduct 189 }
                          -- Summit X440: 24 1000BASE-X SFP ports, 4 10/100/1000 copper combo ports, 2 10GBASE-X SFP+

    summitX430-24t      OBJECT IDENTIFIER ::= { extremeProduct 190 }
                          -- Summit X430: L2 only, 24 10/100/1000BASE-T, 4 1000BASE-X SFP ports, Summit Stack is not supported

    summitX430-48t      OBJECT IDENTIFIER ::= { extremeProduct 191 }
                          -- Summit X430: L2 only, 48 10/100/1000BASE-T, 4 1000BASE-X SFP ports, Summit Stack is not supported

    summitX440-24tdc    OBJECT IDENTIFIER ::= { extremeProduct 192 }
                          -- Summit X440: DC powered 24 10/100/1000BASE-T, 4 1000BASE-X SFP combo ports, Summit Stack Stacking ports

    summitX440-48tdc    OBJECT IDENTIFIER ::= { extremeProduct 193 }
                          -- Summit X440: DC powered 48 10/100/1000BASE-T, 4 1000BASE-X SFP combo ports, Summit Stack Stacking ports

    summitX770-32q      OBJECT IDENTIFIER ::= { extremeProduct 194 }
                         -- Summit X770-32q: 32 QSFP+

    summitX670G2-48x-4q OBJECT IDENTIFIER ::= { extremeProduct 195 }
                          -- Summit X670-G2-48x-4q: 48 SFP+, 4 QSFP+

    summitX670G2-72x    OBJECT IDENTIFIER ::= { extremeProduct 196 } 
                          -- Summit X670-G2-72x: 72 SFP+

    summitX460G2-24t-10G4   OBJECT IDENTIFIER ::= { extremeProduct 197 }
                              -- Summit X460-G2-24t-10GE4: 24 BaseT, 8 SFP (4 Combo), 4 SFP+, 1 VIM slot, 1 Clock slot

    summitX460G2-24p-10G4   OBJECT IDENTIFIER ::= { extremeProduct 198 }
                              -- Summit X460-G2-24p-10GE4: 24 BaseT (PoE+), 8 SFP (4 Combo), 4 SFP+, 1 VIM slot, 1 Clock slot

    summitX460G2-24x-10G4   OBJECT IDENTIFIER ::= { extremeProduct 199 }
                              -- Summit X460-G2-24x-10GE4: 24 SFP, 8 BaseT (4 Combo), 4 SFP+, 1 VIM slot, 1 Clock slot

    summitX460G2-48t-10G4   OBJECT IDENTIFIER ::= { extremeProduct 200 }
                              -- Summit X460-G2-48t-10GE4: 48 BaseT, 4 SFP+, 1 VIM slot, 1 Clock slot

    summitX460G2-48p-10G4   OBJECT IDENTIFIER ::= { extremeProduct 201 }
                              -- Summit X460-G2-48p-10GE4:  48 BaseT (PoE+), 4 SFP+, 1 VIM slot, 1 Clock slot

    summitX460G2-48x-10G4   OBJECT IDENTIFIER ::= { extremeProduct 202 }
                              -- Summit X460-G2-48x-10GE4: 48 SFP, 4 SFP+, 1 VIM slot, 1 Clock slot

    summitX430-8p      OBJECT IDENTIFIER ::= { extremeProduct 203 }
                          -- Summit X430: L2 only, 8 10/100/1000BASE-T PoE+, 2 1000BASE-X SFP ports, Summit Stack is not supported

    summitX430-24p     OBJECT IDENTIFIER ::= { extremeProduct 204 }
                          -- Summit X430: L2 only, 24 10/100/1000BASE-T PoE+, 4 1000BASE-X SFP ports, Summit Stack is not supported

    aviatCtr-8440      OBJECT IDENTIFIER ::= { extremeProduct 205 }
                          -- CTR-8440 Mobile Backhaul Cell Site Router 8-port 10/100/1000, 4 port SFP

    summitX450G2-24t-10G4   OBJECT IDENTIFIER ::= { extremeProduct 206 }
                              -- Summit X450-G2-24t-10GE4: 24 BaseT, 4 SFP+, 2 HG[21] (Stack only)

    summitX450G2-24p-10G4   OBJECT IDENTIFIER ::= { extremeProduct 207 }
                              -- Summit X450-G2-24p-10GE4: 24 BaseT (PoE+), 4 SFP+, 2 HG[21] (Stack only)

    summitX450G2-48t-10G4   OBJECT IDENTIFIER ::= { extremeProduct 208 }
                              -- Summit X450-G2-48t-10GE4: 48 BaseT, 4 SFP+, 2 HG[21] (Stack only)

    summitX450G2-48p-10G4   OBJECT IDENTIFIER ::= { extremeProduct 209 }
                              -- Summit X450-G2-48p-10GE4: 48 BaseT (PoE+), 4 SFP+, 2 HG[21] (Stack only)

    summitX450G2-24t-G4     OBJECT IDENTIFIER ::= { extremeProduct 210 }
                              -- Summit X450-G2-24t-GE4: 24 BaseT, 4 SFP, 2 HG[21] (Stack only)

    summitX450G2-24p-G4     OBJECT IDENTIFIER ::= { extremeProduct 211 }
                              -- Summit X450-G2-24p-GE4: 24 BaseT (PoE+), 4 SFP, 2 HG[21] (Stack only)

    summitX450G2-48t-G4     OBJECT IDENTIFIER ::= { extremeProduct 212 }
                              -- Summit X450-G2-48t-GE4: 48 BaseT, 4 SFP, 2 HG[21] (Stack only)

    summitX450G2-48p-G4     OBJECT IDENTIFIER ::= { extremeProduct 213 }
                              -- Summit X450-G2-48p-GE4: 48 BaseT (PoE+), 4 SFP, 2 HG[21] (Stack only)

    summitX460G2-24t-G4     OBJECT IDENTIFIER ::= { extremeProduct 214 }
                              -- Summit X460-G2-24t-GE4: 24 BaseT, 8 SFP (4 Combo), 4 SFP, 1 VIM slot, 1 Clock slot

    summitX460G2-24p-G4     OBJECT IDENTIFIER ::= { extremeProduct 215 }
                              -- Summit X460-G2-24p-GE4: 24 BaseT (PoE+), 8 SFP (4 Combo), 4 SFP, 1 VIM slot, 1 Clock slot
    
    summitX460G2-48t-G4     OBJECT IDENTIFIER ::= { extremeProduct 216 }
                              -- Summit X460-G2-48t-GE4: 48 BaseT, 4 SFP, 1 VIM slot, 1 Clock slot

    summitX460G2-48p-G4     OBJECT IDENTIFIER ::= { extremeProduct 217 }
                              -- Summit X460-G2-48p-GE4:  48 BaseT (PoE+), 4 SFP, 1 VIM slot, 1 Clock slot

    oneC-A-600              OBJECT IDENTIFIER ::= { extremeProduct 218 }
                              -- OneC-A-600: Extreme Networks Physical SDN OneController

    oneC-V                  OBJECT IDENTIFIER ::= { extremeProduct 219 }
                              -- OneC-V: Extreme Networks Virtual SDN OneController
    
    --
    -- Assorted OIDs that are pointed to by other MIBs 
    --
    extremeOids
         OBJECT IDENTIFIER ::= { extremeMisc 1 }

   --
   -- OIDs for as-yet-unstandardised 802.3 MAU types
   --     (see MAU MIB for usage)
   --
    extremeMauType
         OBJECT IDENTIFIER ::= { extremeOids 1 }

     extremeMauType1000BaseSX OBJECT IDENTIFIER
     ::= { extremeMauType 1 }
         -- "X fiber over short-wavelength laser PMD as specified
         -- in clause 38, duplex mode unknown"

     extremeMauType1000BaseLX OBJECT IDENTIFIER
     ::= { extremeMauType 2 }
         -- "X fiber over long-wavelength laser PMD as specified
         -- in clause 38, duplex mode unknown"

     extremeMauType1000BaseCX OBJECT IDENTIFIER
     ::= { extremeMauType 3 }
         -- "X copper over 150-ohm balanced cable PMD as specified
         -- in clause 39, duplex mode unknown"

     extremeMauType1000BaseSXFD OBJECT IDENTIFIER
     ::= { extremeMauType 4 }
         -- "X fiber over short-wavelength laser PMD as specified
         -- in clause 38, full-duplex mode"

     extremeMauType1000BaseLXFD OBJECT IDENTIFIER
     ::= { extremeMauType 5 }
         -- "X fiber over long-wavelength laser PMD as specified
         -- in clause 38, full-duplex mode"

     extremeMauType1000BaseCXFD OBJECT IDENTIFIER
     ::= { extremeMauType 6 }
         -- "X copper over 150-ohm balanced cable PMD as specified
         -- in clause 39, full-duplex mode"

     extremeMauType1000BaseWDMHD OBJECT IDENTIFIER
     ::= { extremeMauType 7 }
         -- "Gigabit WDM, half duplex"

     extremeMauType1000BaseWDMFD OBJECT IDENTIFIER
     ::= { extremeMauType 8 }
         -- "Gigabit WDM, full duplex"

     extremeMauType1000BaseLX70HD OBJECT IDENTIFIER
     ::= { extremeMauType 9 }
         -- "Gigabit LX70, half duplex"

     extremeMauType1000BaseLX70FD OBJECT IDENTIFIER
     ::= { extremeMauType 10 }
         -- "Gigabit LX70, full duplex"

     extremeMauType1000BaseZXHD OBJECT IDENTIFIER
     ::= { extremeMauType 11 }
         -- "Gigabit ZX, half duplex"

     extremeMauType1000BaseZXFD OBJECT IDENTIFIER
     ::= { extremeMauType 12 }
         -- "Gigabit ZX, full duplex"

     extremeMauType1000BaseLX100HD OBJECT IDENTIFIER
     ::= { extremeMauType 13 }
         -- "Gigabit LX100, half duplex"

     extremeMauType1000BaseLX100FD OBJECT IDENTIFIER
     ::= { extremeMauType 14 }
         -- "Gigabit LX100, full duplex"

     extremeMauType10GBaseCX4 OBJECT IDENTIFIER
     ::= { extremeMauType 15 }
         -- "10 Gigabit CX4"

     extremeMauType10GBaseZR OBJECT IDENTIFIER
     ::= { extremeMauType 16 }
         -- "10 Gigabit ZR"

     extremeMauType10GBaseDWDM OBJECT IDENTIFIER
     ::= { extremeMauType 17 }
         -- "10 Gigabit DWDM"

     extremeMauType10GBaseCX OBJECT IDENTIFIER
     ::= { extremeMauType 18 }
         -- "10 Gigabit CX - SFP+ twin coax cable"

     extremeMauType10GBaseT OBJECT IDENTIFIER
          ::= { extremeMauType 19 }
         -- "10 Gigabit BaseT "

     extremeMauType40GBaseX OBJECT IDENTIFIER
          ::= { extremeMauType 20 }
         -- "40 Gigabit BaseX "

    extremeMauType100GBaseX OBJECT IDENTIFIER
          ::= { extremeMauType 21 }
         -- "100 Gigabit BaseX"

    extremeMauType40GBasePSM4 OBJECT IDENTIFIER
          ::= { extremeMauType 22 }
         -- "40 Gigabit PSM4"

    -- ===============================================================================

    --
    -- Extreme MIB Objects
    --
    extremeSystem          OBJECT IDENTIFIER ::= { extremeAgent 1 }
    extremeVlan            OBJECT IDENTIFIER ::= { extremeAgent 2 }
    extremeQos             OBJECT IDENTIFIER ::= { extremeAgent 3 }
    extremePort            OBJECT IDENTIFIER ::= { extremeAgent 4 }
    extremeVC              OBJECT IDENTIFIER ::= { extremeAgent 5 }
    extremeTrapPoll        OBJECT IDENTIFIER ::= { extremeAgent 6 }
    extremeQosPolicy       OBJECT IDENTIFIER ::= { extremeAgent 7 }
    extremeDlcs            OBJECT IDENTIFIER ::= { extremeAgent 8 }
    extremeFileTransfer    OBJECT IDENTIFIER ::= { extremeAgent 10 }
    extremeRtStats         OBJECT IDENTIFIER ::= { extremeAgent 11 }
    extremeEsrp            OBJECT IDENTIFIER ::= { extremeAgent 12 }
    extremeEdp             OBJECT IDENTIFIER ::= { extremeAgent 13 }
    extremeSlb             OBJECT IDENTIFIER ::= { extremeAgent 14 }
    extremeOspf            OBJECT IDENTIFIER ::= { extremeAgent 15 }
    extremeFdb             OBJECT IDENTIFIER ::= { extremeAgent 16 }
    extremeStp             OBJECT IDENTIFIER ::= { extremeAgent 17 }
    extremeEaps            OBJECT IDENTIFIER ::= { extremeAgent 18 }
    extremeLacp            OBJECT IDENTIFIER ::= { extremeAgent 19 }
    extremePOSMib          OBJECT IDENTIFIER ::= { extremeAgent 20 }
    extremeNPMib           OBJECT IDENTIFIER ::= { extremeAgent 21 }
    extremeNetFlow         OBJECT IDENTIFIER ::= { extremeAgent 22 }
    extremeSnmpv3          OBJECT IDENTIFIER ::= { extremeAgent 23 }
    extremeCable           OBJECT IDENTIFIER ::= { extremeAgent 24 }
    extremeWireless 	   OBJECT IDENTIFIER ::= { extremeAgent 25 }
    extremeServices 	   OBJECT IDENTIFIER ::= { extremeAgent 26 }
    extremePoE             OBJECT IDENTIFIER ::= { extremeAgent 27 }
    extremeDosMib          OBJECT IDENTIFIER ::= { extremeAgent 28 }
    extremeEnhDosMib       OBJECT IDENTIFIER ::= { extremeAgent 29 }
    extremeClearflow       OBJECT IDENTIFIER ::= { extremeAgent 30 }
    extremeEntity          OBJECT IDENTIFIER ::= { extremeAgent 31 }
    extremeSwMonitor       OBJECT IDENTIFIER ::= { extremeAgent 32 }
    extremeStackable       OBJECT IDENTIFIER ::= { extremeAgent 33 }
    extremeIpSecurity      OBJECT IDENTIFIER ::= { extremeAgent 34 }
    extremeUpm             OBJECT IDENTIFIER ::= { extremeAgent 35 }
    extremeIdMgr           OBJECT IDENTIFIER ::= { extremeAgent 36 }
    extremeMplsMIB         OBJECT IDENTIFIER ::= { extremeAgent 37 }
    extremeHclag           OBJECT IDENTIFIER ::= { extremeAgent 38 }
    extremeVM              OBJECT IDENTIFIER ::= { extremeAgent 39 }
    extremeAutoProvision   OBJECT IDENTIFIER ::= { extremeAgent 40 }
    extremeMlag            OBJECT IDENTIFIER ::= { extremeAgent 41 }
    extremeCfgMgmt         OBJECT IDENTIFIER ::= { extremeAgent 42 }
    extremeBfd             OBJECT IDENTIFIER ::= { extremeAgent 43 }
    extremeMacAuthMIB      OBJECT IDENTIFIER ::= { extremeAgent 44 }
    extremePbbMib          OBJECT IDENTIFIER ::= { extremeAgent 45 }
    extremeErps            OBJECT IDENTIFIER ::= { extremeAgent 46 }
    extremeCfm             OBJECT IDENTIFIER ::= { extremeAgent 47 }
    extremeAcl             OBJECT IDENTIFIER ::= { extremeAgent 48 }
    extremeVrrpMIB         OBJECT IDENTIFIER ::= { extremeAgent 49 }

    extremeInternal        OBJECT IDENTIFIER ::= { extremeAgent 1000 }

    extremeAP 		   OBJECT IDENTIFIER ::= { extremeWireless 1 }
    extremeLAC 		   OBJECT IDENTIFIER ::= { extremeWireless 2 }

    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'. If the
            object has a length of 0 then it is taken to refer to all
            of the ports in a given device."
        SYNTAX      OCTET STRING

    L4Port ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
            "The value of a transport layer (layer-4) port number, in network
            byte order. A value of 0 indicates all allowed values of this 
            field i.e. wildcard."
        SYNTAX  INTEGER (0|1..65535)

    ExtremeGenAddr ::= TEXTUAL-CONVENTION
         STATUS      current
         DESCRIPTION
             "The value of an address."
         SYNTAX      OCTET STRING (SIZE (0..20))

    ExtremeDeviceId ::= TEXTUAL-CONVENTION
         STATUS      current
         DESCRIPTION
             "The switch identifier used by Extreme EDP protocol."
         SYNTAX      OCTET STRING (SIZE (8))

WPACipherSet ::= TEXTUAL-CONVENTION
	STATUS current
	DESCRIPTION
		"A set of supported ciphers which can be advertised
	 	 by WPA stations.  Each set bit indicates support for
		 a given cipher suite.  The special value none is 
		 allowed for representing the absence of information.
		 The value other is used to indicate an unknown cipher."
	SYNTAX BITS {
	        none(0),
		wep64(1),
		tkip(2),
		wrap(3),
		ccmp(4),
		wep128(5),
		other(6) }

WPAKeyMgmtSet ::= TEXTUAL-CONVENTION
	STATUS current
	DESCRIPTION
		"A set of supported key management suites.  For more info
		 see IEEE 802.11i D3.0 section 7."
	SYNTAX BITS {
		none(0),
		dot1x(1),
		psk(2)
	}

ClientAuthType ::= TEXTUAL-CONVENTION
	STATUS current
	DESCRIPTION "Type of client specified in the netlogin traps as well as the client table. For
			wired clients, only none, netlogin and dot1x are valid"
	SYNTAX INTEGER {
                          none(0),	   
			  open(1),
			  wep(2),
			  mac-based(3),
			  dot1x(4),
			  wpa-psk(5),
			  web-based (6),
    			  wpa2(7),
    			  wpa(8),
    			  wpa2-psk(9)}

WirelessRemoteConnectBindingType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION "The type of binding to be used when mapping APs to virtual ports"
SYNTAX INTEGER { 
    none(0),
    mac-address(1),
    serial-number(2),
    ip-address(3)}

END

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

ENTERASYS-MIB-NAMES DEFINITIONS ::= BEGIN

--  enterasys-mib-names.txt
--
--  This module provides authoritative definitions for Enterasys
--  Networks' MIB Names.  
--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys
--  Networks to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested 
--  parties a non-exclusive license to use this Specification in connection 
--  with the management of Enterasys products.

--  Copyright June, 2002 Enterasys Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-IDENTITY, enterprises
        FROM SNMPv2-SMI;

etsysModuleName  MODULE-IDENTITY
    LAST-UPDATED "200311061515Z"  -- Thu Nov  6 15:15 GMT 2003
    ORGANIZATION "Enterasys Networks, Inc"
    CONTACT-INFO
        "Postal:  Enterasys Networks
                  50 Minuteman Rd.
                  Andover, MA 01810-1008
                  USA
         Phone:   +1 978 684 1000
         E-mail:  support@enterasys.com
         WWW:     http://www.enterasys.com"
   
    DESCRIPTION
        "This MIB module defines a portion of the SNMP enterprise
         MIBs under Enterasys Networks enterprise OID.

         This module embodies the top level hierarchy of all
         OIDs, MIBs, AGENT-CAPABILITIES statements, and X.509
         PKI certificates for Enterasys Networks' products.

         This leaf lexicographically falls under the etsysMibs branch
         of the enterasys enterprise tree."

    REVISION    "200311061515Z"  -- Thu Nov  6 15:15 GMT 2003
    DESCRIPTION "Corrected the postal code in the CONTACT-INFO clause."

    REVISION    "200310231719Z"  -- Thu Oct 23 17:19 GMT 2003
    DESCRIPTION "Updated CONTACT-INFO and sections 2, 6, and 7."

    REVISION    "200206141602Z"  -- Fri Jun 14 16:02 GMT 2002
    DESCRIPTION "Minor change to the Applicability section."

    REVISION    "200206141402Z"  -- Fri Jun 14 14:02 GMT 2002
    DESCRIPTION "Updated the CONTACT-INFO clause.
                 Added a branch for management of Enterasys specific 
                 Internet X.509 Public Key Infrastructure Certificates."

    REVISION    "200011132121Z"
    DESCRIPTION "Imported OBJECT-IDENTITY from SNMPv2-SMI.
                 Removed company address from the document header."

    REVISION    "200010051300Z"
    DESCRIPTION "Obsoleted etsysNamesMib, etsysConformance,
                 etsysConformName, etsysConformOID.  This is the 
                 first non-experimental version of this module."

    REVISION    "200004070000Z"
    DESCRIPTION "Fix many of the bugs in the first edit."

    REVISION    "200003210000Z"
    DESCRIPTION "The initial version of this MIB module."
    ::= { enterprises 5624 1 2 1 } 

-- Global definition for Enterasys tree
enterasys OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "Global definition of the enterasys enterprise branch
         as provided by the Internet Assigned Numbers Authority
         (IANA)."
    ::= { enterprises 5624 }

etsysMibs      OBJECT IDENTIFIER ::= { enterasys 1 }
-- All MIBs are under this branch.

etsysOids      OBJECT IDENTIFIER ::= { enterasys 2 }
-- All OIDs are under this branch.

etsysAgentCaps OBJECT IDENTIFIER ::= { enterasys 3 }
-- All Agent Capabilities Statements are under this branch.

etsysX509Pki   OBJECT IDENTIFIER ::= { enterasys 509 }
-- All X.509 Public Key Infrastructure Certificates are under this branch.

etsysModules   OBJECT IDENTIFIER ::= { etsysMibs 2 }
-- All OIDs to be used for MODULE-IDENTITY macro invocation 
-- are under this branch.  Further expansion of this branch is 
-- detailed in the ENTERASYS-MIB-ORG module.

etsysNamesMib OBJECT-IDENTITY 
    STATUS      obsolete
    DESCRIPTION "Obsolete."
    ::= { etsysMibs 1 }

etsysConformance OBJECT-IDENTITY 
    STATUS      obsolete
    DESCRIPTION "Obsolete."
    ::= { etsysMibs 3 }

etsysConformName OBJECT-IDENTITY 
    STATUS      obsolete
    DESCRIPTION "Obsolete"
    ::= { etsysConformance 1 }

etsysConformOID OBJECT-IDENTITY 
    STATUS      obsolete
    DESCRIPTION "Obsolete"
    ::= { etsysConformance 2 }

END

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

EXTREME-SYSTEM-MIB DEFINITIONS ::= BEGIN

    IMPORTS
    TEXTUAL-CONVENTION FROM SNMPv2-TC
    NOTIFICATION-TYPE  FROM SNMPv2-SMI
    MODULE-IDENTITY FROM SNMPv2-SMI
    OBJECT-TYPE     FROM SNMPv2-SMI
    Integer32, Unsigned32      FROM SNMPv2-SMI
    TruthValue      FROM SNMPv2-TC
    RowStatus       FROM SNMPv2-TC
    DisplayString   FROM RFC1213-MIB
    extremeAgent    FROM EXTREME-BASE-MIB
    PortList        FROM EXTREME-BASE-MIB
                  sysDescr,sysUpTime, ifDescr         FROM RFC1213-MIB  
    MacAddress      FROM SNMPv2-TC
    IpAddress       FROM SNMPv2-SMI
    InetAddressType, InetAddress FROM INET-ADDRESS-MIB;

    extremeSystem MODULE-IDENTITY
        LAST-UPDATED "201503061955Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme System objects: objects common to all platforms"

        REVISION    "201503061955Z"  -- Fri Mar 06 19:55 GMT 2015
        DESCRIPTION "Added new slot types for new cards bdxa-48t, bdxa-48x"
    ::= { extremeAgent 1 }

    SlotType ::= TEXTUAL-CONVENTION 
          STATUS        current
          DESCRIPTION
                "The type of the slot. It is used both for the configured
                 as well as the inserted slot types."
          SYNTAX INTEGER    {
            none(1),
            fe32(2),
            g4x(3),
            g6x(4),
            fe32fx(5),
            msm(6),
            f48ti(7),
            g8xi(8),
            g8ti(9),
            g12sxi(10),
            g12ti(11),
            msm64i(18),
            alpine3808(19),
            alpine3804(20),
            fm32t(21),
            gm4x(22),
            gm4sx(23),
            gm4t(24),
            wdm8(25),
            fm24f(26),
            fm24sf(27),
            fm24te(28),
            f96ti(29),
            wdm4(30),
            f32fi(31),
            tenGig(32),
            tenGigLR(33),
            g16x3(34),
            g24t3(35),
            gm16x3(36),
            gm16t3(37),
            fm16t3(38),
            fm32p(39),
            fm8v(50), -- vdsl blade
            wm4t1(51), -- 4port t1
            wm4t3(52), -- 4port t3
            wm1t3(53), -- 1port t3
            wm4e1(54),  -- 4port e1
            alpine3802(55),
            p3c(101),
            p12c(102),
            arm(103),
            mpls(104),
            sma(105),
            p48c(106),
            a3c(107),
            a12c(108),
            pxm(200),
            s300fixed(201),
            msm3(202),
            msm1(203),
            msm1xl(204),
            s300expansion(301),
            g60t(400),
            g60x(401),
            teng6x(402),
            msm-g8x(414),
            g8x(415),
            g48t(416),
            g48p(417),
            g24x(418),
            teng4x(419),
            teng2x(420),
            g20x(421),
            teng2h(422),
            x450-24x(423),
            x450-24t(424),
            msm5(425),
            msm5r(426),
            gm20t(427),
            gm20xt(428),
            gm20xtr(429),
            xm2x(430), -- 10G2X
            xm2xr(431), -- 10G2XR
            msm6r(432),
            g48te(433),
            g48ta(434),
            g48pe(435),
            g48x(437),
            x450a-24t(439),
            x450e-24p(440),
            x450a-48t(442),
            x450e-48p(443),
            x450a-24x(444),
            x450a-24tdc(445),
            x450a-24xdc(446),
            msm-48(447),
            teng4ca(448),
            teng4xa(449),
            g48tc(450),
            g48te2(451),
            g48xc(452),
            g24xc(453),
            tenG4xc(454),
            tenG8xc(455),
            msms48c(456),
            g8xc(457),
            tenG1xc(458),
            g48tcPoE(459),
            g48te2PoE(460),
            x450a-48tdc(461),
            x250e-24t(462),
            x250e-24p(463),
            x250e-48t(464),
            x250e-48p(465),
            x250e-24x(466),
            x250e-24xtaa(467),
            x250e-24tdc(468),
            x250e-48tdc(469),
            x250e-24xdc(470),
            x150-24t(471),
            x150-24tdc(472),
            x150-24p(473),
            x150-48t(474),
            x150-48tdc(475),
            x150-48p(476),
            x150-24x(477),
            x150-24xdc(478),
            xm2hr(480),
            x350-24t(481),
            x350-48t(482),
            x650-24t(483),
            x650-24x(484),
            x650-24tG4X(485),
            x650-24xG4X(486),
            x650-24tG4X10G2S(487),
            x650-24xG4X10G2S(488),
            x650-24t10G8X10G2S(489),
            x650-24x10G8X10G2S(490),
            x650-24t64G2S(491),
            x650-24x64G2S(492),
            x650-24t64G4S(493),
            x650-24x64G4S(494),
            mmbase(496),
            mmadv(497),
            gm40xb(498),
            xm8xb(500),
            x8900msm128(503),
            x8900tenG24xc(504),
            x8900tenG8xm(505),
            x8900g48tm(506),
            x8900g48xm(507),
            x8900g96tc(508),
            x8900g48tmPoE(509),
            nwie450a(510),
            x480-24x(511),
            x480-48x(512),
            x480-48t(513),
            x480-24x10G2S(514),
            x480-48x10G2S(515),
            x480-48t10G2S(516),
            x480-24x10G4X(517),
            x480-48x10G4X(518),
            x480-48t10G4X(519),
            x480-24x32G2S(520),
            x480-48x32G2S(521),
            x480-48t32G2S(522),
            x8500msm48(523),
            x8500g24xa(524),
            x8500g48te(525),
            x8500g48tePoE(526),
            x460-24t(527),
            x460-24p(528),
            x460-24x(529),
            x460-48t(530),
            x460-48p(531),
            x460-48x(532),
            x450e-24t(533),
            x450e-48t(534),
            hm-2x24ga(535),
            xcm88s1(536), 
            xcm8848t(537),
            xcm88p(538),
            xcm8824f(539),
            xcm8808x(540),
            xcm888f(541),
            x480-48x20G2S(542),
            x480-48t20G2S(543),
            x670-48x(546),
            x670v-48x(547),
            e4g-400(548),
            bdx-mm1(549),
            bdxa-10g48x(550),
            bdxa-10g24x(551),
            bdxa-40g24x(552),
            bdxa-40g12x(553),
            bdxa-fm20t(554),
            bdxa-fm10t(555),
            x480-24x20G2S(556),
            x650-24x40G4X(557),
            x650-24t40G4X(558),
            x480-24x40G4X(559),
            x480-48x40G4X(560),
            x480-48t40G4X(561),
            tenG2xc(562),
            fortyG6xc(563),
            e4g-200(564),
            x440-8t(565),
            x440-8p(566),
            x440-24t(567),
            x440-24p(568),
            x440-48t(569),
            x440-48p(570),
            x440-24t-10G(571),
            x440-24p-10G(572),
            x440-48t-10G(573),
            x440-48p-10G(574),
            ags100-24t(575),
            ags150-24p(576),
            x670v-48t(578),
            x440-L2-24t(579),
            x440-L2-48t(580),
            x440-24x(582),
            x440-48x(583),
            bdxa-10g48t(584),
            x430-24t(585),
            x430-48t(586),
            x440-24tdc(587),
            x440-48tdc(588),
            x770-32q(589),
            x670G2-48x-4q(590), 
            x670G2-72x(591),
            x460G2-24t-10G4(592),
            x460G2-24p-10G4(593),
            x460G2-24x-10G4(594),
            x460G2-48t-10G4(595),
            x460G2-48p-10G4(596),
            x460G2-48x-10G4(597),
            bdxb-40g12x-xl(600),
            bdxb-100g4x-xl(601),
            x430-8p(602),
            x430-24p(603),
            bdxb-100g4x(604),
            ctr-8440(605),
            x450-G2-24t(606),
            x450-G2-24p(607),
            x450-G2-48t(608),
            x450-G2-48p(609),
            x450-G2-24t-GE4(610),
            x450-G2-24p-GE4(611),
            x450-G2-48t-GE4(612),
            x450-G2-48p-GE4(613),
            x460G2-24t-G4(614),
            x460G2-24p-G4(615),
            x460G2-48t-G4(616),
            x460G2-48p-G4(617),
            bdxa-48t(630),
            bdxa-48x(631),
            x8900msm96(638)
        }

    PowerValue ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION   "The input power value of the switch."
        SYNTAX  INTEGER {
            v110 (1),
            v220 (2),
            v48DC (3),
            unknown(4)
        }
-- TODO : UnitMultiplier is copied from draft http://tools.ietf.org/html/draft-claise-energy-monitoring-mib-08
--        If the Mib is standardised please remove the below UnitMultiplier and export from the above MIB.

    UnitMultiplier ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
               "The Unit Multiplier is an integer value that represents
               the IEEE 61850 Annex A units multiplier associated with
               the integer units used to measure the power or energy.
     
               For example, when used with pmPowerUnitMultiplier, -3
               represents 10^-3 or milliwatts."
        REFERENCE
                    "The International System of Units (SI),
                    National Institute of Standards and Technology,
                    Spec. Publ. 330, August 1991."
        SYNTAX INTEGER {
                yocto(-24),   -- 10^-24
                zepto(-21),   -- 10^-21
                atto(-18),    -- 10^-18
                femto(-15),   -- 10^-15
                pico(-12),    -- 10^-12
                nano(-9),     -- 10^-9
                micro(-6),    -- 10^-6
                milli(-3),    -- 10^-3
                units(0),     -- 10^0
                kilo(3),      -- 10^3
                mega(6),      -- 10^6
                giga(9),      -- 10^9
                tera(12),     -- 10^12
                peta(15),     -- 10^15
                exa(18),      -- 10^18
                zetta(21),    -- 10^21
                yotta(24)     -- 10^24
       }

    extremeSystemCommon OBJECT IDENTIFIER
    ::= { extremeSystem 1 }

    extremeSystemPowerUsage OBJECT IDENTIFIER 
    ::= { extremeSystemCommon 40 }
--
--  System group
--OC
--  Objects common to all platforms
--
--  Configuration save objects.  These objects are used by the network
--  management application to save configuration changes into the
--  persistent store.  There are 2 stores on the device; a primary and
--  a secondary.

    extremeSaveConfiguration OBJECT-TYPE
        SYNTAX INTEGER {
            saveToPrimary(1),
            saveToSecondary(2),
                        saveToCurrent(3),
                        factoryDefault(4),
                        saveToFile(5)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "When this object is set, the device will copy the contents
            of the configuration database to a buffer and save it to the 
            persistent store specified by the value of the object.  The 
            save is    performed asynchronously, and the snmp agent will
            continue to respond to both gets and sets while the save is
            taking place.  A network management application may use the
            extremeSaveStatus object to determine when the asynchronous
            save operation has completed." 

    ::= { extremeSystemCommon 3 }

    extremeSaveStatus OBJECT-TYPE
                SYNTAX INTEGER { saveInProgress(1), saveNotInProgress(2), saveNotReady(3) }
        MAX-ACCESS    read-only
        STATUS current
        DESCRIPTION
            "This object will return the status of a save operation invoked
            by setting the extremeSaveConfiguration object.  A network
            management application can read this object to determine that a
            save operation has completed."
    ::= { extremeSystemCommon 4 }                

    extremeCurrentConfigInUse OBJECT-TYPE
                SYNTAX INTEGER { 
                    primary(1),
                    secondary(2),
                    other(3),
                    factoryDefault(4)
                }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Shows which NVRAM configuration store was used at last boot."
    ::= { extremeSystemCommon 5 }                

    extremeConfigToUseOnReboot OBJECT-TYPE
                SYNTAX INTEGER {
                    primary(1),
                    secondary(2),
                    other(3)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Controls which NVRAM configuration store will be used 
            on next reboot."
    ::= { extremeSystemCommon 6 }               

    extremeSaveConfigurationFileName OBJECT-TYPE
         SYNTAX DisplayString (SIZE (0..127))
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
            " This object is set, along the object extremSaveConfiguration
              option with value 5.This object indicates the file name to be used
              while saving the file. On reading it returns the current selected
              config."

    ::= { extremeSystemCommon 48 }

    extremeUseOnRebootFileName OBJECT-TYPE
         SYNTAX DisplayString (SIZE (0..127))
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
            " This object is set, along the object extremeConfigToUseOnReboot
              option with value 3.This object indicates the file name to be used
              while saving the file"

    ::= { extremeSystemCommon 49 }

    extremeOverTemperatureAlarm OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Alarm status of overtemperature sensor in device 
            enclosure."
    ::= { extremeSystemCommon 7 }

    extremeCurrentTemperature OBJECT-TYPE
        SYNTAX INTEGER (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Current temperature in degrees celcius measured inside
            device enclosure."
    ::= { extremeSystemCommon 8 }

    --
    -- Table of operational status of all internal Fans
    --
    extremeFanStatusTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeFanStatusEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Table of operational status of all internal cooling fans."
    ::= { extremeSystemCommon 9 }

    extremeFanStatusEntry OBJECT-TYPE
        SYNTAX  ExtremeFanStatusEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Entry in table of all internal cooling fans."
        INDEX { extremeFanNumber }
    ::= { extremeFanStatusTable 1 }

    ExtremeFanStatusEntry ::=
        SEQUENCE {
            extremeFanNumber Integer32,
            extremeFanOperational TruthValue,
            extremeFanEntPhysicalIndex  Integer32,
            extremeFanSpeed Integer32

        }

    extremeFanNumber OBJECT-TYPE
                SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Identifier of cooling fan, numbered from the front and/or 
            left side of device."
    ::= { extremeFanStatusEntry 1 }

    extremeFanOperational OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Operational status of a cooling fan."
    ::= { extremeFanStatusEntry 2 }              
    
    extremeFanEntPhysicalIndex OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The entity index for this fan entity in the entityPhysicalTable table of the
                entity MIB."
        ::= { extremeFanStatusEntry 3 }

    extremeFanSpeed OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The speed (RPM) of a cooling fan in the fantray."
    ::= { extremeFanStatusEntry 4 }              

    extremePrimaryPowerOperational OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Operational status of internal power supply of a device."
    ::= { extremeSystemCommon 10 }

    extremeRedundantPowerStatus OBJECT-TYPE
        SYNTAX INTEGER { notPresent(1), presentOK(2), presentNotOK(3) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Operational status of an external redundant power supply to a device."
    ::= { extremeSystemCommon 11 }

    extremeRedundantPowerAlarm OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Alarm state of an external redundant power supply to a device. 
            Alarm state indicates either fan failure or overtemperature 
            condition."
    ::= { extremeSystemCommon 12 }

    extremePrimarySoftwareRev  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..80))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The software revision of the primary image stored in 
            this device.  This string will have a zero length if 
            the revision is unknown, invalid or not present. This
            will also be reported in RMON2 probeSoftwareRev if this
            is the software image currently running in the device."
    ::= { extremeSystemCommon 13 }

    extremeSecondarySoftwareRev  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..80))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The software revision of the secondary image stored in 
            this device.  This string will have a zero length if 
            the revision is unknown, invalid or not present. This
            will also be reported in RMON2 probeSoftwareRev if this
            is the software image currently running in the device."
    ::= { extremeSystemCommon 14 }

        extremeImageToUseOnReboot OBJECT-TYPE
                SYNTAX INTEGER { primary(1), secondary(2) }
            MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
            "Controls which image will be used 
                on next reboot."
    ::= { extremeSystemCommon 15 }               

        extremeSystemID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This represents the System ID of the Summit Switch."
    ::= { extremeSystemCommon 16 }

        extremeSystemBoardID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This represents the Board ID of the Summit Switch."
    ::= { extremeSystemCommon 17 }

        extremeSystemLeftBoardID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This represents the Left Board ID of the Summit Switch."
    ::= { extremeSystemCommon 18 }

        extremeSystemRightBoardID  OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..126))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This represents the Right Board ID of the Summit Switch."
    ::= { extremeSystemCommon 19 }

    -- Add variables to report power supply data
    extremeInputPowerVoltage OBJECT-TYPE
        SYNTAX PowerValue
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The input power voltage at which the system is currently operating."
    ::= { extremeSystemCommon 20 }

        extremePowerStatus OBJECT-TYPE
                SYNTAX INTEGER { notPresent(1), presentOK(2), presentNotOK(3) }
            MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Operational status of the power supply to a device."
    ::= { extremeSystemCommon 21 }

        extremePowerAlarm OBJECT-TYPE
                SYNTAX TruthValue
            MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Alarm state of the power supply to a device. 
                Alarm state indicates either fan failure or overtemperature 
                condition."
    ::= { extremeSystemCommon 22 }

        extremeRmonEnable OBJECT-TYPE
                SYNTAX TruthValue
            MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                      "Setting this to true will cause the agent to 
               start collecting RMON statistics."
    ::= { extremeSystemCommon 23 }

-- OID extremeSystemCommon.24 has been deprecated and extremeCpuTasktable
-- has been moved to extremeSystemCommon.29 with new name extremeCpuTask2table

        extremeBootROMVersion OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..15))    
            MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
          "The software revision of the bootrom on the device. 
                   This string will have a zero length if the revision is 
                   unknown or invalid."
               
    ::= { extremeSystemCommon 25 }

        extremeDot1dTpFdbTableEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS obsolete
        DESCRIPTION
         "Setting this to true will cause GetNext operations on               the dot1dTpFdbTable to be allowed. Note that Get operations               are always allowed."

    ::= { extremeSystemCommon 26 }

        extremePowerSupplyTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePowerSupplyEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                "Table of status of all power supplies in the system."
    ::= { extremeSystemCommon 27 }

        extremePowerSupplyEntry OBJECT-TYPE
        SYNTAX  ExtremePowerSupplyEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                "An entry indicating the status of a specific power supply."
        INDEX { extremePowerSupplyNumber }
    ::= { extremePowerSupplyTable 1 }

    ExtremePowerSupplyEntry ::=
        SEQUENCE {
            extremePowerSupplyNumber Integer32,
            extremePowerSupplyStatus INTEGER,
            extremePowerSupplyInputVoltage PowerValue,
            extremePowerSupplySerialNumber DisplayString,
            extremePowerSupplyEntPhysicalIndex Integer32,
            extremePowerSupplyFan1Speed INTEGER,
            extremePowerSupplyFan2Speed INTEGER,
            extremePowerSupplySource INTEGER,
            extremePowerSupplyInputPowerUsage Integer32,
            extremePowerMonSupplyNumOutput Integer32,
            extremePowerSupplyInputPowerUsageUnitMultiplier UnitMultiplier
            
        }

    extremePowerSupplyNumber OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                    "Power supply number."
    ::= { extremePowerSupplyEntry 1 }

    extremePowerSupplyStatus OBJECT-TYPE
                SYNTAX INTEGER { notPresent(1), presentOK(2), presentNotOK(3), presentPowerOff(4)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                    "Status of the power supply."
    ::= { extremePowerSupplyEntry 2 }

        extremePowerSupplyInputVoltage OBJECT-TYPE
                SYNTAX PowerValue
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "Input voltage of the power supply"
        ::= { extremePowerSupplyEntry 3 }

    extremePowerSupplySerialNumber OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..126))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " The serial number of the power supply unit."
    ::= { extremePowerSupplyEntry 4 }                                      
    
    extremePowerSupplyEntPhysicalIndex OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " The entity index for this psu entity in the entityPhysicalTable
                of the entity MIB."
         ::= { extremePowerSupplyEntry 5 }

    extremePowerSupplyFan1Speed OBJECT-TYPE
                SYNTAX INTEGER { notPresent(-1), noRPMInfo(-2) }
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " The speed (RPM) of Fan-1 in the power supply unit."
    ::= { extremePowerSupplyEntry 6 }
    
    extremePowerSupplyFan2Speed OBJECT-TYPE
                SYNTAX INTEGER { notPresent(-1), noRPMInfo(-2) }
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " The speed (RPM) of Fan-2 in the power supply unit."
    ::= { extremePowerSupplyEntry 7 }

    extremePowerSupplySource OBJECT-TYPE
                SYNTAX INTEGER { unknown(1),
                        ac(2),
                        dc(3),
                        externalPowerSupply(4),
                        internalRedundant(5)
                        }
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " The power supply unit input source."
    ::= { extremePowerSupplyEntry 8 }

    extremePowerSupplyInputPowerUsage OBJECT-TYPE
                SYNTAX Integer32 
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " Input power usage for the given psu slot. The value 0 in this field indicate the power usage is not supported or read failure."
    ::= { extremePowerSupplyEntry 9 }

    extremePowerMonSupplyNumOutput OBJECT-TYPE
                SYNTAX Integer32 
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " Number of output sensors in the power supply unit"
    ::= { extremePowerSupplyEntry 10 }

    extremePowerSupplyInputPowerUsageUnitMultiplier OBJECT-TYPE
                SYNTAX UnitMultiplier
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        " The magnitude of watts for the usage value in extremePowerSupplyInputPowerUsage."
    ::= { extremePowerSupplyEntry 11 }


     extremeCpuAggregateUtilization OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
                  "The aggregate CPU utilization since
                   the time the start started executing."
        ::= { extremeSystemCommon 28 }

--
-- The CPU Task table lists all executing tasks 
--
        extremeCpuTask2Table OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeCpuTask2Entry
        MAX-ACCESS  not-accessible
                STATUS deprecated
                DESCRIPTION
                  "Table of CPU tasks that are active."
    ::= { extremeSystemCommon 29 }

        extremeCpuTask2Entry OBJECT-TYPE
        SYNTAX  ExtremeCpuTask2Entry
        MAX-ACCESS  not-accessible
                STATUS deprecated
        DESCRIPTION
                  "An entry in table of describes a single task."
        INDEX { extremeCpuTask2CpuId, extremeCpuTask2Name }
    ::= { extremeCpuTask2Table 1 }

    ExtremeCpuTask2Entry ::=
        SEQUENCE {
            extremeCpuTask2CpuId
                Unsigned32,
            extremeCpuTask2Name
                DisplayString,
               extremeCpuTask2Id
                Unsigned32,
            extremeCpuTask2Pc
                Unsigned32,
            extremeCpuTask2Status
                DisplayString,
            extremeCpuTask2Utilization
                Unsigned32,
            extremeCpuTask2MaxUtilization
                Unsigned32
        }

      extremeCpuTask2CpuId OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS deprecated
                DESCRIPTION
                      "CPU on which this task last executed or is executing.
                       The primary CPU has a value of 1."
      ::= { extremeCpuTask2Entry 1 }

          extremeCpuTask2Name OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..31))
            MAX-ACCESS not-accessible
            STATUS deprecated
                DESCRIPTION
                      "Name associated with the reported task id."
      ::= { extremeCpuTask2Entry 2 }

    
          extremeCpuTask2Id OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS read-only
                STATUS deprecated
                DESCRIPTION
                  "Task identifier assigned by the operating system when
                   this task is spawned."
      ::= { extremeCpuTask2Entry 3 }

          extremeCpuTask2Pc OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS deprecated
                DESCRIPTION
                      "The value of the program counter for this task.
               It indicates the address of the next instruction
                       that would be executed once the operating system
                resumes this task." 
    ::= { extremeCpuTask2Entry 4 }

        extremeCpuTask2Status OBJECT-TYPE
                SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS deprecated
                DESCRIPTION
                      "The current status of the task as reported by the
                 operating system."
    ::= { extremeCpuTask2Entry 5 }

        extremeCpuTask2Utilization OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS deprecated
                DESCRIPTION
                      "The current CPU utilization by this task. This
               is the utilization when the task last executed."
    ::= { extremeCpuTask2Entry 6 }

        extremeCpuTask2MaxUtilization OBJECT-TYPE
                SYNTAX Unsigned32
            MAX-ACCESS read-write
            STATUS deprecated
                DESCRIPTION
                      "The maximum CPU utilization by this task since
               the time the start started executing. This value
               may be cleared."
    ::= { extremeCpuTask2Entry 7 }

-- This object is included in an authentication failure trap.
-- The value of this object shall be valid only if the SNMP message
-- that failed authentication used IPv4 as the network protocol.
-- For all other protocols the value of this object shall be 0 in the
-- authentication failure trap.
        extremeAuthFailSrcAddr  OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS  accessible-for-notify
                STATUS deprecated
                DESCRIPTION
                    "The IP address of the originator of the bad SNMP 
                    request that caused the generation of an authentication 
                    failure trap."
        ::= { extremeSystemCommon 30 }

        extremeCpuTransmitPriority      OBJECT-TYPE
                SYNTAX INTEGER {
                       normal(1),
                       high(2)
                       }
                MAX-ACCESS                  read-write
                STATUS                      deprecated
                DESCRIPTION
                    "The CPU transmit priority."
         ::= { extremeSystemCommon 31 }

        extremeImageBooted OBJECT-TYPE
                SYNTAX INTEGER { primary(1), secondary(2) }
            MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The image with which the switch was last booted, using which it is currently running."
    ::= { extremeSystemCommon 32 }               
        
        extremeMsmFailoverCause OBJECT-TYPE
                SYNTAX INTEGER { never(1),
                                 admin(2),
                                 exception(3), 
                                 removal(4),
                                 hwFailure(5), 
                                 watchdog(6),
                                 keepalive(7) 
                               }
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The cause of the last MSM failover. never(1) means an
                    MSM Failover has not occurred since the last reboot. 
                    admin(2) means the failover was initiated by the user. 
                    exception(3) means the former master MSM encountered a 
                    software exception condition. removal(4) means the master 
                    MSM was physically removed from the chassis. hwFailure(5) 
                    means a diagnostic failure was detected in the master MSM. 
                    watchdog(6) means that the master MSM hardware watchdog 
                    timer expired. keepalive(7) means the master MSM failed to 
                    respond to slave keepalive requests. The MSM failover will 
                    have been hitless only in the admin(2) and exception(3) 
                    cases "
        ::= { extremeSystemCommon 33 }


        extremeImageTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeImageEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table containing information about each software image."
        ::= { extremeSystemCommon 34 }

    extremeImageEntry OBJECT-TYPE
        SYNTAX  ExtremeImageEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table entry containing information about each software image."
        INDEX      { extremeImageNumber }
            ::= { extremeImageTable 1 }

    ExtremeImageEntry ::= SEQUENCE {
                extremeImageNumber              INTEGER,
                extremeMajorVersion             Integer32,
                extremeSubMajorVersion          Integer32,
                extremeMinorVersion          Integer32,
                extremeBuildNumber              Integer32,
                extremeTechnologyReleaseNumber  Integer32,
                extremeSustainingReleaseNumber  Integer32,
                extremeBranchRevisionNumber     Integer32,
                extremeImageType                INTEGER,
                extremeImageDescription         DisplayString,
                extremeImageSecurity            INTEGER,
                extremePatchVersion             Integer32
    }

    extremeImageNumber OBJECT-TYPE
        SYNTAX  INTEGER {
                       cur(0),
                       pri(1),
                       sec(2),
                       curr(3)
                }
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular software
                image."
        ::= { extremeImageEntry 1 }

    extremeMajorVersion   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The ExtremeWare Release Major Version."
        ::= { extremeImageEntry 2 }
                
        extremeSubMajorVersion   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
                STATUS deprecated 
        DESCRIPTION
                "The ExtremeWare Release Sub-major Version."
        ::= { extremeImageEntry 3 }
                
        extremeMinorVersion   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The ExtremeWare Release Minor Version."
        ::= { extremeImageEntry 4 }
                
        extremeBuildNumber   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The ExtremeWare Build Number."
        ::= { extremeImageEntry 5 }
                
        extremeTechnologyReleaseNumber   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The Technology Release version. This value is zero for
                all but TR releases."
        ::= { extremeImageEntry 6 }
                
        extremeSustainingReleaseNumber   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The Sustaining Release number for the ExtremeWare version."
        ::= { extremeImageEntry 7 }
                
        extremeBranchRevisionNumber   OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The incremental build on specified branch."
        ::= { extremeImageEntry 8 }
                
        extremeImageType   OBJECT-TYPE
        SYNTAX  INTEGER {
                       trunk(0),
                       branch(1),
                       patch(2),
                       technology(3),
                       beta(4)
                      }
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The branch type from which the image was built."
        ::= { extremeImageEntry 9 }
                
        extremeImageDescription   OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..255))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
        "A unique string that can be used to identify the specific patch,
                technology, or development branch release."
        ::= { extremeImageEntry 10 }
                
        extremeImageSecurity   OBJECT-TYPE
        SYNTAX  INTEGER {
                       unknown(0),
                       nossh(1),
                       ssh(2)
                      }
        MAX-ACCESS  read-only
                STATUS deprecated
        DESCRIPTION
                "Indicates whether image was built with ssh. This object
         is deprecated, the ssh capability can be obtained from
         the extremeImageSshCapability of the ImageFeatureTable"
        ::= { extremeImageEntry 11 }


         extremePatchVersion   OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The ExtremeWare Release Patch Version."
                ::= { extremeImageEntry 12 }

                
extremeImageFeatureTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeImageFeatureEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table containing information about the software features."
        ::= { extremeSystemCommon 35 }

        extremeImageFeatureEntry OBJECT-TYPE
                SYNTAX  ExtremeImageFeatureEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table entry containing information about software features."
                INDEX     { extremeImageFeatureNumber }
                        ::= { extremeImageFeatureTable 1 }

        ExtremeImageFeatureEntry ::= SEQUENCE {
                extremeImageFeatureNumber               INTEGER,
                extremeImageSshCapability       INTEGER,
                extremeImageUAACapability       INTEGER
        }

        extremeImageFeatureNumber OBJECT-TYPE
                SYNTAX  INTEGER {
                       cur(0),
                       pri(1),
                       sec(2)
                }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "A unique integer identifying the particular software
                image."
                ::= { extremeImageFeatureEntry 1 }

        extremeImageSshCapability   OBJECT-TYPE
                SYNTAX  INTEGER {
                       unknown(0),
                       nossh(1),
                       ssh(2)
                      }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "Indicates whether image has ssh capability."
                ::= { extremeImageFeatureEntry 2 }

        extremeImageUAACapability   OBJECT-TYPE
                SYNTAX  INTEGER {
                       unknown(0),
                       nouaa(1),
                       uaa(2)
                      }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "Indicates whether image has Wireless(UAA) components."
                ::= { extremeImageFeatureEntry 3 }

 extremeSystemPowerState OBJECT-TYPE
                SYNTAX INTEGER {
                   computing(1),
                   sufficientButNotRedundantPower(2),
                   redundantPowerAvailable(3),
                   insufficientPower(4) 
                }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The current state of power available."
              ::= { extremeSystemCommon 36 }

       extremeBootTime OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS read-only
            STATUS      current
            DESCRIPTION
            " The boot time expressed in standard time_t value. 
              When interpreted as an absolute time value, it
              represents the number of seconds elapsed since 00:00:00 
              on January 1, 1970, Coordinated Universal Time (UTC)"
                ::= {extremeSystemCommon 37}

       extremePowerSupplyOutputPowerTable OBJECT-TYPE
            SYNTAX     SEQUENCE OF ExtremePowerSupplyOutputPowerEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION
                "The output power supply table per power supply unit."
                ::= { extremeSystemCommon 38 }

       extremePowerSupplyOutputPowerEntry OBJECT-TYPE
            SYNTAX     ExtremePowerSupplyOutputPowerEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION
                "An entry in the power supply output table."
            INDEX   { extremePowerSupplyIndex, extremePowerSupplyOutputSensorIdx }
                ::= { extremePowerSupplyOutputPowerTable 1 }

       ExtremePowerSupplyOutputPowerEntry ::=
            SEQUENCE {
                extremePowerSupplyIndex Integer32,
                extremePowerSupplyOutputSensorIdx Integer32,
                extremePowerSupplyOutputVoltage Integer32,
                extremePowerSupplyOutputCurrent Integer32,
                extremePowerSupplyOutputUnitMultiplier UnitMultiplier
            }

      extremePowerSupplyIndex  OBJECT-TYPE
           SYNTAX     Integer32 
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "Power supply unit slot index"
           ::= { extremePowerSupplyOutputPowerEntry 1 }

      extremePowerSupplyOutputSensorIdx  OBJECT-TYPE
           SYNTAX     Integer32 
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "Power supply Sensor Index"
           ::= { extremePowerSupplyOutputPowerEntry 2 }

      extremePowerSupplyOutputVoltage OBJECT-TYPE
           SYNTAX     Integer32 
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "Output voltage per sensor for the current psu slot no. 
                 0 in this field tells the psu doesnt support output voltage reading or output voltage read error."
           ::= { extremePowerSupplyOutputPowerEntry 3 }

      extremePowerSupplyOutputCurrent OBJECT-TYPE
           SYNTAX     Integer32 
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "Output current per sensor for the current psu slot no. 
                 0 in this field tells the psu doesnt support output current reading or output current read error."
               ::= { extremePowerSupplyOutputPowerEntry 4 }

      extremePowerSupplyOutputUnitMultiplier OBJECT-TYPE
           SYNTAX     UnitMultiplier
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "The magnitude of volts and amps for the usage value in extremePowerSupplyOutputVoltage and 
                 extremePowerSupplyOutputCurrent."
                ::= { extremePowerSupplyOutputPowerEntry 5 }

      extremePowerSupplyUsageTable OBJECT-TYPE
           SYNTAX     SEQUENCE OF ExtremePowerSupplyUsageEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
                "The power supply usage on each slot."
               ::= { extremeSystemCommon 39 }

      extremePowerSupplyUsageEntry OBJECT-TYPE
           SYNTAX     ExtremePowerSupplyUsageEntry
           MAX-ACCESS not-accessible
           STATUS     current
           DESCRIPTION
                "An entry in the power supply usage table."
           INDEX   { extremeSlotIndex }
              ::= { extremePowerSupplyUsageTable 1 }

      ExtremePowerSupplyUsageEntry ::=
           SEQUENCE {
                extremeSlotIndex Integer32,
                extremePowerSupplyUsageValue Integer32,
                extremePowerSupplyUnitMultiplier UnitMultiplier
        }

      extremeSlotIndex  OBJECT-TYPE
           SYNTAX     Integer32
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "Slot number in the chassis/stack based system."
               ::= { extremePowerSupplyUsageEntry 1 }

      extremePowerSupplyUsageValue OBJECT-TYPE
           SYNTAX     Integer32
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "Power Usage of the particular slot in the chassis or stack.The power usage is measured in milli-watts."
               ::= { extremePowerSupplyUsageEntry 2 }

      extremePowerSupplyUnitMultiplier OBJECT-TYPE
           SYNTAX     UnitMultiplier
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "The magnitude of watts for the usage value in extremePowerSupplyUsageValue."
               ::= { extremePowerSupplyUsageEntry 3 }



      extremeSystemPowerUsageValue OBJECT-TYPE    
           SYNTAX Integer32
           MAX-ACCESS  read-only
           STATUS current
           DESCRIPTION
                "The current power usage of the system.In stack mode this variables tells total power usage 
                 of the entire system."
               ::= { extremeSystemPowerUsage 1 }

       extremeSystemPowerUsageUnitMultiplier OBJECT-TYPE
           SYNTAX     UnitMultiplier
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "The magnitude of watts for the usage value in extremeSystemPowerUsageValue."
               ::= { extremeSystemPowerUsage 2 }


       extremeSystemPowerMonitorTable OBJECT-TYPE
            SYNTAX     SEQUENCE OF ExtremeSystemPowerMonitorEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION
                "The output power supply table per power supply unit."
                ::= { extremeSystemCommon 41 }

       extremeSystemPowerMonitorEntry OBJECT-TYPE
            SYNTAX     ExtremeSystemPowerMonitorEntry
            MAX-ACCESS not-accessible
            STATUS     current
            DESCRIPTION
                "An entry in the power supply output table."
            INDEX   { extremeSystemPowerMonitorIndex1 }
                ::= { extremeSystemPowerMonitorTable 1 }

       ExtremeSystemPowerMonitorEntry ::=
            SEQUENCE {
                extremeSystemPowerMonitorIndex1 Integer32,
                extremeSystemPowerMonitorPollInterval INTEGER,
                extremeSystemPowerMonitorReportChanges INTEGER,
                extremeSystemPowerMonitorChangeThreshold Integer32
            }

      extremeSystemPowerMonitorIndex1  OBJECT-TYPE
           SYNTAX     Integer32
           MAX-ACCESS read-only
           STATUS     current
           DESCRIPTION
                "Reserved can be used for future expansion. currently set to zero."
           ::= { extremeSystemPowerMonitorEntry 1 }

      extremeSystemPowerMonitorPollInterval  OBJECT-TYPE
           SYNTAX INTEGER (0..300)
           MAX-ACCESS read-write
           STATUS     current
           DESCRIPTION
                "Configure how often input power is measured. it is configured in seconds. default value is 60 seconds.
                 if 0 is configured then the input power measurement is disabled"
           ::= { extremeSystemPowerMonitorEntry 2 }

      extremeSystemPowerMonitorReportChanges OBJECT-TYPE
                SYNTAX INTEGER {
                     none(1),
                     log(2),
                     trap(3),
                     logandtrap(4)}
           MAX-ACCESS read-write
           STATUS     current
           DESCRIPTION
                "configure report-changes has none or log or trap or log-and-trap, by default none is configured"
           ::= { extremeSystemPowerMonitorEntry 3 }

      extremeSystemPowerMonitorChangeThreshold OBJECT-TYPE
           SYNTAX     Integer32
           MAX-ACCESS read-write
           STATUS     current
           DESCRIPTION
                "configure input power change-threshold to initiate report-changes action.
                 By default 2 watts is configured, this field is configured in watts. "
               ::= { extremeSystemPowerMonitorEntry 4 }

---
--- Reboot Time Control Table Objects
---

    extremeRebootTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF RebootTimeEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "This group of objects use to initiate a device reboot or
            contain details of the last reboot operation of the switch 
            modules or nodes."
      ::= { extremeSystemCommon 42 }

    rebootTimeEntry OBJECT-TYPE
        SYNTAX   RebootTimeEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "This group of objects use to initiate a device reboot or
            contain details of the last reboot operation of the switch 
            modules or nodes."
       INDEX { extremeRebootSlotId }
       ::= { extremeRebootTable 1 }

RebootTimeEntry ::=
    SEQUENCE {
        extremeRebootSlotId
            INTEGER,
        extremeRebootNodeAddress
            MacAddress,
        extremeRebootModuleSlotId
            DisplayString,
        extremeRebootSlotNumber 
            INTEGER,
        extremeRebootAsStandby
            INTEGER,
        extremeRebootStackTopology
            INTEGER,
        extremeRebootMonth
            INTEGER,
        extremeRebootDay
            INTEGER,
        extremeRebootYear
            INTEGER,
        extremeRebootHour
            INTEGER,
        extremeRebootMinute
            INTEGER,
        extremeRebootSeconds
            INTEGER,
        extremeRebootCancel
            INTEGER,
        extremeRebootImmediate
            INTEGER,
        extremeRebootRowStatus
            RowStatus
              }

    extremeRebootSlotId   OBJECT-TYPE
         SYNTAX  INTEGER (0..65535)
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
         "Specifies the MSM/MM module number of a switch or the slot number currently being 
          used by the active stack node."
    ::= { rebootTimeEntry 1 }

    extremeRebootNodeAddress  OBJECT-TYPE
         SYNTAX MacAddress
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the MAC address of the SummitStack node to be rebooted.
          
          NOTE: This object is valid only for Summit X250e and X450 
          series switches, and SummitStack."
    ::= { rebootTimeEntry 2 }

    extremeRebootModuleSlotId   OBJECT-TYPE
         SYNTAX  DisplayString
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies A or B for an MSM/MM module.
          - A specifies the MSM/MM installed in slot A.
          - B specifies the MSM/MM installed in slot B.

          Note: The modules that can be rebooted are management switch fabric 
          modules(MSM) and management modules(MM).  This object is valid only 
          on modular switches."
    ::= { rebootTimeEntry 3 }

    extremeRebootSlotNumber   OBJECT-TYPE
         SYNTAX  INTEGER
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the slot number currently being used by the active stack 
          node that is to be rebooted.

          Note: This variable is available only on SummitStack."
    ::= { rebootTimeEntry 4 }

    extremeRebootAsStandby   OBJECT-TYPE
         SYNTAX  INTEGER {
		  enabled(1),  
		  disabled(0)
	 }
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies that all stack nodes that are to be rebooted 
          are to operate as if configured to not be master-capable.

          NOTE: This object is valid only for Summit X250e 
          and X450 series switches and SummitStack."
    ::= { rebootTimeEntry 5 }

    extremeRebootStackTopology   OBJECT-TYPE
         SYNTAX  INTEGER {
		  enabled(1),  
		  disabled(0)
	 }
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies that the entire SummitStack is to be rebooted 
          whether or not nodes are active.

          NOTE: This object is valid only for Summit X250e and 
          X450 series switches and SummitStack. "
    ::= { rebootTimeEntry 6 }

    extremeRebootMonth   OBJECT-TYPE
         SYNTAX INTEGER (1..12)
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the month that the reboot is scheduled to start." 
    ::= { rebootTimeEntry 7 }

    extremeRebootDay   OBJECT-TYPE
         SYNTAX INTEGER (1..31)
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the day that the reboot is scheduled to start." 
    ::= { rebootTimeEntry 8 }


    extremeRebootYear   OBJECT-TYPE
         SYNTAX INTEGER (2003..2036)
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the year that the reboot is scheduled to start." 
    ::= { rebootTimeEntry 9 }

    extremeRebootHour   OBJECT-TYPE
         SYNTAX INTEGER (0..23)
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the hour that the reboot is scheduled to start." 
    ::= { rebootTimeEntry 10 }

    extremeRebootMinute   OBJECT-TYPE
         SYNTAX INTEGER (0..59)
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the number of minutes that the reboot is scheduled to start." 
    ::= { rebootTimeEntry 11 }

    extremeRebootSeconds   OBJECT-TYPE
         SYNTAX INTEGER (0..59)
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the number of seconds that the reboot is scheduled to start." 
    ::= { rebootTimeEntry 12 }

    extremeRebootCancel   OBJECT-TYPE
         SYNTAX  INTEGER {
		  enabled(1),  
		  disabled(0)
	 }
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Cancels a previously scheduled reboot.  
          
          Note: This object, when enabled, override all objects associated with
                a reboot request."
    ::= { rebootTimeEntry 13 }

    extremeRebootImmediate   OBJECT-TYPE
         SYNTAX  INTEGER {
		  enabled(1),  
		  disabled(0)
	 }
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Indicates that a reboot should be executed on the target device immediately."
    ::= { rebootTimeEntry 14 }

    extremeRebootRowStatus   OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
             "The existence state of this reboot request. This object
              follows the row status behavior."
    ::= { rebootTimeEntry 15 }


--      The Download Image Data Structure contains information
--      regarding the current state of EXOS image down load requests. 

    extremeDownloadImageTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF ExtremeDownloadImageEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "This group of objects contain details of the last 
            or the current download image operation of the switch 
            modules or nodes."
      ::= { extremeSystemCommon 43 }

    extremeDownloadImageEntry OBJECT-TYPE
        SYNTAX   ExtremeDownloadImageEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "This group of objects contain details of the last 
            or the current download image operation of one of the switch 
            modules or nodes."
       INDEX { extremeDownloadImageSlotId }
       ::= { extremeDownloadImageTable 1 }

ExtremeDownloadImageEntry ::=
    SEQUENCE {
        extremeDownloadImageSlotId
            INTEGER,
        extremeDownloadImageStatus
            INTEGER,
        extremeDownloadImageFilename
            DisplayString,
        extremeDownloadImagePartition
            INTEGER,
        extremeDownloadImageHostName
            DisplayString,
        extremeDownloadImageIpaddress
            DisplayString,
        extremeDownloadImageStartTime
            DisplayString,
        extremeDownloadImageMemorycard
            INTEGER,
        extremeDownloadImageInstall
            INTEGER,
        extremeDownloadSlotNumber
            INTEGER,
        extremeDownloadModuleSlotId
            DisplayString,
        extremeDownloadRowStatus
            RowStatus,
        extremeDownloadBlockSize
            INTEGER
              }

    extremeDownloadImageSlotId   OBJECT-TYPE
         SYNTAX  INTEGER (0..65535)
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies the MSM/MM module number of a switch or the slot number currently being 
          used by the active stack node."
         DEFVAL { 0 }

    ::= { extremeDownloadImageEntry 1 }

    extremeDownloadImageStatus   OBJECT-TYPE
         SYNTAX  INTEGER {
		  downloadInProgress(1),  
		  downloadOperationSuccess(2),  
		  downloadNotPrimary(3),  
		  downloadNameLengthError(4),  
		  downloadInvalidFileType(5),  
		  downloadActivePartitionError(6),  
		  downloadIllegalHostname(7),  
		  downloadFailed(8),  
		  downloadInvalidIpaddr(9),  
		  downloadMemAllocFailed(10),
		  downloadNotInActiveTop(11),  
		  downloadMissingFileName(12),  
		  downloadIllegalFileName(13),  
		  downloadOperationTimeout(14),  
		  downloadInvalidRowStatus(15)  
	 }
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies the status of the current down load operation." 
    ::= { extremeDownloadImageEntry 2 }

    extremeDownloadImageFilename   OBJECT-TYPE
         SYNTAX DisplayString (SIZE  (0..128))
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies the file name of the downloading EXOS image." 
    ::= { extremeDownloadImageEntry 3 }

    extremeDownloadImagePartition   OBJECT-TYPE
         SYNTAX  INTEGER {
		  primary(1),  
		  secondary(2)
	 }
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies which partition the image should be saved 
          to primary or secondary.  Select primary to save the 
          image to the primary partition and secondary to save 
          the image to the secondary partition.
   
          Note: Beginning with ExtremeXOS 12.1, an ExtremeXOS core 
          image must be installed on the alternate (nonactive) 
          partition. If a user tries to install on an active partition, 
          the error message [Error: Image can only be installed  
          to the non-active partition.] is displayed."
    ::= { extremeDownloadImageEntry 4 }

    extremeDownloadImageHostName   OBJECT-TYPE
         SYNTAX DisplayString (SIZE  (0..128))
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies the hostname of the TFTP server from which the 
          image should be obtained."
       
    ::= { extremeDownloadImageEntry 5 }

    extremeDownloadImageIpaddress   OBJECT-TYPE
         SYNTAX DisplayString (SIZE  (0..128))
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies the IP address of the TFTP server from which the 
          image should be obtained."
       
    ::= { extremeDownloadImageEntry 6 }

    extremeDownloadImageStartTime   OBJECT-TYPE
         SYNTAX  DisplayString (SIZE(0..31))
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies the start time (date and time) of the current down load operation."
    ::= { extremeDownloadImageEntry 7 }

    extremeDownloadImageMemorycard   OBJECT-TYPE
         SYNTAX  INTEGER {
		  enabled(1),  
		  disabled(0)
	 }
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies that the image should be obtained from a removable 
          storage device, which can be a compact flash card or a USB 2.0 
          storage device."

    ::= { extremeDownloadImageEntry 8 }

    extremeDownloadImageInstall   OBJECT-TYPE
         SYNTAX  INTEGER {
		  enabled(1),  
		  disabled(0)
	 }
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies to start the install process after the successful download of 
          the image." 
    ::= { extremeDownloadImageEntry 9 }

    extremeDownloadSlotNumber   OBJECT-TYPE
         SYNTAX INTEGER (1..8)
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies the slot number currently being used by the active stack 
          node that is to be rebooted.

          Note: This variable is available only on stackable switches in a stack."
    ::= { extremeDownloadImageEntry 10 }


    extremeDownloadModuleSlotId   OBJECT-TYPE
         SYNTAX  DisplayString
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Specifies A or B for an MSM/MM module.
          - A specifies the MSM/MM installed in slot A.
          - B specifies the MSM/MM installed in slot B.

          Note: The modules that can be rebooted are management switch fabric 
          modules(MSM) and management modules(MM).  This object is valid only 
          on modular switches."
    ::= { extremeDownloadImageEntry 11 }

    extremeDownloadRowStatus   OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
             "The existence state of this download image request. This object
              follows the row status behavior."
    ::= { extremeDownloadImageEntry 12 }

    extremeDownloadBlockSize   OBJECT-TYPE
         SYNTAX  INTEGER (24..65000)
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
             "Specifies the TFTP block-size to download image from the server"
         DEFVAL { 1400 }
    ::= { extremeDownloadImageEntry 13}

--      The Install Image Data Structure contains information
--      regarding the current state of EXOS image install requests. 

    extremeInstallImageTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF ExtremeInstallImageEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "This group of objects contain details of the last 
            or the current install image operation of the switch
            modules or nodes."
      ::= { extremeSystemCommon 44 }

    extremeInstallImageEntry OBJECT-TYPE
        SYNTAX   ExtremeInstallImageEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "This group of objects contain details of the last 
            or the current install image operation of one of the switch 
            modules or nodes."
       INDEX { extremeInstallImageSlotId }
       ::= { extremeInstallImageTable 1 }

ExtremeInstallImageEntry ::=
    SEQUENCE {
        extremeInstallImageSlotId
            INTEGER,
        extremeInstallImageStatus
            INTEGER,
        extremeInstallImageFilename
            DisplayString,
        extremeInstallImagePartition
            INTEGER,
        extremeInstallImageStartTime
            DisplayString,
        extremeInstallImageReboot
            INTEGER,
        extremeInstallImageModuleSlotId
            DisplayString,
        extremeInstallImageSlotNumber
            INTEGER,
        extremeInstallImageRowStatus
            RowStatus
              }

    extremeInstallImageSlotId   OBJECT-TYPE
         SYNTAX  INTEGER (0..65535)
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
         "Specifies the MSM/MM module number of a switch or the slot number currently being 
          used by the active stack node."
         DEFVAL { 0 }
    ::= { extremeInstallImageEntry 1 }

    extremeInstallImageStatus   OBJECT-TYPE
         SYNTAX  INTEGER {
		  installInProgress(1),  
		  installOperationSuccess(2),  
		  installOperationPending(3),  
		  installNameLengthError(4),  
		  installInvalidFileType(5),  
		  installActivePartitionError(6),  
		  installDwnloadSlotMismatch(7),  
		  installFailed(8),  
		  installNotPrimary(9), 
		  installMemAllocFailed(10),
		  installNotInActiveTop(11),  
		  installMissingFileName(12),  
		  installIllegalFileName(13),  
		  installOperationTimeout(14),  
		  installOperBackupTimeout(15),  
		  installInvalidRowStatus(16)  
	 }
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
         "Specifies the status of the current install image operation." 
    ::= { extremeInstallImageEntry 2 }

    extremeInstallImageFilename   OBJECT-TYPE
         SYNTAX DisplayString (SIZE  (0..128))
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the software image file."  
    ::= { extremeInstallImageEntry 3 }

    extremeInstallImagePartition  OBJECT-TYPE
         SYNTAX  INTEGER {
		  primary(1),  
		  secondary(2)
	 }
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies which partition the image should be saved 
          to: primary or secondary.  Select primary to save the 
          image to the primary partition and secondary to save 
          the image to the secondary partition.
   
          Note: Beginning with ExtremeXOS 12.1, an ExtremeXOS core 
          image must be installed on the alternate (nonactive) 
          partition. If a user tries to install on an active partition, 
          the error message [Error: Image can only be installed  
          to the non-active partition.] is displayed."
    ::= { extremeInstallImageEntry 4 }

    extremeInstallImageStartTime   OBJECT-TYPE
         SYNTAX  DisplayString (SIZE(0..31))
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
         "Specifies the start time of the current install operation."
    ::= { extremeInstallImageEntry 5 }

    extremeInstallImageReboot   OBJECT-TYPE
         SYNTAX  INTEGER {
		  enabled(1),  
		  disabled(0)
	 }
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies to reboot the switch after the image is installed." 
    ::= { extremeInstallImageEntry 6 }

    extremeInstallImageModuleSlotId   OBJECT-TYPE
         SYNTAX  DisplayString
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies A or B for an MSM/MM module.
          - A specifies the MSM/MM installed in slot A.
          - B specifies the MSM/MM installed in slot B.

          Note: The modules that can be rebooted are management switch fabric 
          modules(MSM) and management modules(MM).  This object is valid only 
          on modular switches."
    ::= { extremeInstallImageEntry 7 }

    extremeInstallImageSlotNumber   OBJECT-TYPE
         SYNTAX INTEGER (1..8)
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Specifies the slot number currently being used by the active stack 
          node that is to be rebooted.

          Note: This variable is available only on stackable switches in a stack."
    ::= { extremeInstallImageEntry 8 }

    extremeInstallImageRowStatus   OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
             "The existence state of this install image request. This object
              follows the row status behavior."
    ::= { extremeInstallImageEntry 9 }

--
-- Trap Support Objects. 
--
    extremeLoadInstallTrap OBJECT IDENTIFIER 
        ::= { extremeSystemCommon 45 }


--  The following are support objects for the Configuration Management traps.
    loadInstallControl OBJECT IDENTIFIER ::= { extremeLoadInstallTrap 1 }
    loadInstallTraps OBJECT IDENTIFIER ::= { extremeLoadInstallTrap 2 }

    downloadImageTrapEnable OBJECT-TYPE
        SYNTAX INTEGER {
            yes(1),
            no(2)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This variable indicates whether the system produces the
                downloadImageTrap notification. A no(2) value will prevent
                notifications from being generated by this system."
    ::= { loadInstallControl 1 }


    installImageTrapEnable OBJECT-TYPE
        SYNTAX INTEGER {
            yes(1),
            no(2)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This variable indicates whether the system produces the
                extremeInstallImageTrap notification. A no(2) value will prevent
                notifications from being generated by this system."
    ::= { loadInstallControl 2 }

    downloadImageTrap NOTIFICATION-TYPE
        OBJECTS {
                    extremeDownloadImageSlotId,
                    extremeDownloadImageStatus,
                    extremeDownloadImageFilename,  
                    extremeDownloadImagePartition,  
                    extremeDownloadImageStartTime
        }
        STATUS             current
        DESCRIPTION
           "This notification indicates the status of the last/current
           download operation."
   ::= { loadInstallTraps 1 }

    installImageTrap NOTIFICATION-TYPE
        OBJECTS {
                    extremeInstallImageSlotId,
                    extremeInstallImageStatus,
                    extremeInstallImageFilename,
                    extremeInstallImagePartition,
                    extremeInstallImageStartTime
        }
        STATUS             current
        DESCRIPTION
           "This notification indicates the status of the last/current
           install operation."
   ::= { loadInstallTraps 2 }

-- This object shall be present in an authentication failure trap.
    extremeAuthFailSrcAddressType OBJECT-TYPE
            SYNTAX InetAddressType
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the address type of the 
                address contained in extremeAuthFailSrcAddr."
    ::= { extremeSystemCommon 50 }

-- This object shall be present in an authentication failure trap.
    extremeAuthFailSrcAddress OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The address of the originator of the SNMP message that
                could not be authenticated."
    ::= { extremeSystemCommon 51 }

-- This object shall be present in an authentication failure trap.
    extremeAuthFailSrcAddressVrName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(1..32))
            MAX-ACCESS accessible-for-notify
            STATUS current 
            DESCRIPTION
                "The VR from which the SNMP message that could
                not be authenticated was received from."
    ::= { extremeSystemCommon 52 }

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

        -- Objects specific to Chassis products
    extremeChassisGroup OBJECT IDENTIFIER ::=    { extremeSystem 2}

    extremeMasterMSMSlot OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The extremeSlotNumber of the master MSM module."
    ::= { extremeChassisGroup 1  }
    
    extremeChassisPortsPerSlot OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The maximum number of ports that can be accomodated
        in a single slot. This number would change to accomodate
        blades with higher port density than current ones."
    ::= { extremeChassisGroup 3  }
    
    extremeSlotTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeSlotEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each slot in the 
        chassis."
    ::= { extremeChassisGroup 2 }

    extremeSlotEntry OBJECT-TYPE
        SYNTAX  ExtremeSlotEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the module in 
        each slot of the chassis."
        INDEX      { extremeSlotNumber }
    ::= { extremeSlotTable 1 }

    ExtremeSlotEntry ::= SEQUENCE {
                extremeSlotNumber               Integer32,
        extremeSlotName                  DisplayString,
                extremeSlotModuleConfiguredType INTEGER,
                extremeSlotModuleInsertedType   INTEGER,
        extremeSlotModuleState           INTEGER,    
        extremeSlotModuleSerialNumber    DisplayString
    }

    extremeSlotNumber OBJECT-TYPE
                SYNTAX  Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular slot 
        in the chassis."
    ::= { extremeSlotEntry 1 }

    extremeSlotName   OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "A name identifying the particular slot in the chassis."
    ::= { extremeSlotEntry 2 }

    extremeSlotModuleConfiguredType OBJECT-TYPE
        SYNTAX  SlotType 
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
        "The configured module type for the given slot. 
        At startup, the module-type is none(1). It is 
        possible to configure the module-type even if there 
        is no module in the slot. If the current module in the 
        slot is different than the requested configured module-type, 
        then the current configuration for the module is erased and 
        the card will be restarted. The new configured module-type 
        will be recorded. Since the configured module type is different 
        than the actual module type, a moduleMismatch trap will be sent,
         and the extremeSlotModuleState for that module will show a 
        mismatch(3). Setting this variable to none(1) will clear the 
        previously assigned module-type of this slot, and all 
        configuration information related to the slot will be erased."
        ::= { extremeSlotEntry 3 }

    extremeSlotModuleInsertedType OBJECT-TYPE
        SYNTAX  SlotType 
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The module type inserted into the slot. It is possible 
        to have a slot inserted into the slot even though 
        extremeSlotConfiguredType is none(1)."
        ::= { extremeSlotEntry 4 }

    extremeSlotModuleState OBJECT-TYPE
        SYNTAX  INTEGER    {
            notPresent(1),
            testing(2),
            mismatch(3),
            failed(4),
            operational(5),
            powerdown(6),
            unknown(7),
            present(8),
                poweron(9),
                post(10),
                downloading(11),
                booting(12),
                offline(13),
                initializing(14),
                invalid(100)            
        }
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The state of the module inserted in this slot."
        ::= { extremeSlotEntry 5 }

    extremeSlotModuleSerialNumber OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The serial number of the module inserted in this slot."
        ::= { extremeSlotEntry 6 }
    extremeSystemHealthCheck OBJECT IDENTIFIER
        ::= { extremeSystem 3 }

    extremeHealthCheckErrorType OBJECT-TYPE
        SYNTAX INTEGER { 
                unknown(1), 
                cpuPacket(2), 
                backplane(3), 
                hardwareFail(4),
                pbusChecksum(5)
                }            
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The error reported in the system health check trap"
        ::= { extremeSystemHealthCheck 1 }

    extremeHealthCheckAction OBJECT-TYPE
        SYNTAX INTEGER {
                syslogOnly(1),
                healthCheckTrap(2),
                ioModuleDown(3),
                systemDown(4),
                autoRecovery(5)
                }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The action/alarm level configured for health check."
        ::= { extremeSystemHealthCheck 2 }

    extremeHealthCheckMaxRetries OBJECT-TYPE
                SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The maximum number of times a module restart will be attempted if it fails. 
        If extremeHealthCheckAction is not autorecovery(5), then this value is zero."
        ::= { extremeSystemHealthCheck 3 }

-- =========================================================================== 
 
        extremeSystemThresholds OBJECT IDENTIFIER
        ::= { extremeSystem  4 }

        extremeCpuUtilRisingThreshold OBJECT-TYPE
                SYNTAX INTEGER (0..100)
                MAX-ACCESS read-write
        STATUS deprecated
                DESCRIPTION
                  "Rising threshold for CPU Aggregation utilization trap"
    ::= { extremeSystemThresholds 1 }

        extremeCpuTaskUtilPair OBJECT-TYPE
                SYNTAX DisplayString 
            MAX-ACCESS accessible-for-notify
                STATUS deprecated
                DESCRIPTION
                  "TaskName/CPU_% Util pair reported in CPU Utilization trap"
    ::= { extremeSystemThresholds 2 }


extremeSystemNotifications OBJECT IDENTIFIER ::= { extremeSystem 6 }

extremeSystemTrapsPrefix OBJECT IDENTIFIER ::= { extremeSystemNotifications 0 }


extremeSystemPowerStatus NOTIFICATION-TYPE
              OBJECTS   { sysDescr, extremeSystemPowerState }
              STATUS  current
              DESCRIPTION
                 "Change in status of System Power  
                        The trap will not be generated for discovering state." 
              ::= { extremeSystemTrapsPrefix 1 }


extremeGenericTrap NOTIFICATION-TYPE
              OBJECTS {severity, eventName, message}
              STATUS  current
              DESCRIPTION
                 "Some event took place in the system"
              ::= { extremeSystemTrapsPrefix 2 }

        extremeGenericTrapParams OBJECT IDENTIFIER
        ::= { extremeSystem  7 }

        severity OBJECT-TYPE
             SYNTAX INTEGER {
             critical(1),
             error(2),
             warning(3),
             notice(4),
             info(5),
             debug-summary(6),
             debug-verbose(7),
             debug-data(8)
        }
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The severity of the message being sent. "
        ::= {extremeGenericTrapParams 1}

        eventName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..40))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The event name being sent."
        ::= {extremeGenericTrapParams 2}
        
        message OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The message being sent"
        ::= {extremeGenericTrapParams 3}


extremePsuPowerStatus NOTIFICATION-TYPE
              OBJECTS   { sysDescr, extremePowerSupplyNumber, extremePowerSupplyStatus }
              STATUS  current
              DESCRIPTION
                 "Trap to indicate change in status of Power Supply." 
              ::= { extremeSystemTrapsPrefix 3 }

extremeSystemPowerUsageNotification NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeSystemPowerUsageValue, extremeSystemPowerUsageUnitMultiplier }
              STATUS  current
              DESCRIPTION
                 "Whenever the power usage is increased/decreased by the configured
                  threshold value then the power usage trap is generated if the trap is enabled.."
              ::= { extremeSystemTrapsPrefix 4 }

END

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

EXTREME-ENTITY-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY  FROM SNMPv2-SMI
		OBJECT-TYPE      FROM SNMPv2-SMI
                Unsigned32	 FROM SNMPv2-SMI
                extremeAgent     FROM EXTREME-BASE-MIB
		entPhysicalIndex FROM ENTITY-MIB;

        extremeEntity MODULE-IDENTITY
	        LAST-UPDATED "200502140000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme System objects: objects common to all platforms"
        ::= { extremeAgent 31 }

--
--  FRU Table
--
	extremeEntityFRUTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF ExtremeEntityFRUEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"A table containing information about each FRU in the 
		chassis based on Entity MIB."
			::= { extremeEntity 1 }

	extremeEntityFRUEntry OBJECT-TYPE
		SYNTAX  ExtremeEntityFRUEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"Entry in table for a FRU Entity."
		INDEX	  { entPhysicalIndex }
			::= { extremeEntityFRUTable 1 }

	ExtremeEntityFRUEntry ::= SEQUENCE {
		extremeEntityFRUStartTime	Unsigned32,
		extremeEntityFRUOdometer	Unsigned32,
		extremeEntityFRUOdometerUnit	INTEGER
	}

        extremeEntityFRUStartTime  OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "First Recorded Start Time."
		::= { extremeEntityFRUEntry 1 }

	extremeEntityFRUOdometer   OBJECT-TYPE
		SYNTAX  Unsigned32
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"Number of time units in service."
		::= { extremeEntityFRUEntry 2 }

	extremeEntityFRUOdometerUnit OBJECT-TYPE
		SYNTAX INTEGER { days(1), seconds(2) }
	        MAX-ACCESS read-only
            	STATUS current
            	DESCRIPTION
            	"Time unit used to represent value reported by
		extremeEntityFRUOdometer. Depending on the underlying 
		hardware capability."
		::= { extremeEntityFRUEntry 3 }

END

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

EXTREME-SOFTWARE-MONITOR-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        MODULE-IDENTITY FROM SNMPv2-SMI
        NOTIFICATION-TYPE FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                Unsigned32    FROM SNMPv2-SMI
        DisplayString   FROM SNMPv2-TC
                extremeAgent   FROM EXTREME-BASE-MIB
        extremeImageDescription FROM EXTREME-SYSTEM-MIB	
        PortList    FROM EXTREME-BASE-MIB;

        extremeSwMonitor MODULE-IDENTITY
                LAST-UPDATED "201309201006Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Software Monitor objects: objects common to all platforms"
        ::= { extremeAgent 32 }

        extremeSwMonitorCpu OBJECT IDENTIFIER
        ::= { extremeSwMonitor 1 }        
        extremeSwMonitorMemory OBJECT IDENTIFIER
        ::= { extremeSwMonitor 2 }
        extremeSwMonitorNotifications       OBJECT IDENTIFIER 
        ::= { extremeSwMonitor 3 }
        extremeServiceLicense   OBJECT IDENTIFIER 
        ::= { extremeSwMonitor 4 }
        extremeTrialLicense   OBJECT IDENTIFIER 
        ::= { extremeSwMonitor 5 }
        extremeSwMonitorNotificationsPrefix OBJECT IDENTIFIER 
        ::= { extremeSwMonitorNotifications 0 }


--
--  System group
--
--  Objects common to all platforms
--
       extremeCpuMonitorInterval OBJECT-TYPE
            SYNTAX INTEGER (5..60)
            MAX-ACCESS read-only 
            STATUS current
            DESCRIPTION
                "Cpu monitoring interval in seconds. Can not be smaller
                then 5 seconds."
    ::= { extremeSwMonitorCpu 1 }

       extremeCpuMonitorTotalUtilization OBJECT-TYPE
            SYNTAX INTEGER (0..100)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Total CPU utlization (percentage) as of last sampling."
    ::= { extremeSwMonitorCpu 2 }

--
-- The CPU Task table lists all executing processs 
--
        extremeCpuMonitorTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeCpuMonitorEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                  "Table of CPU processes that are active."
    ::= { extremeSwMonitorCpu 3 }

        extremeCpuMonitorEntry OBJECT-TYPE
        SYNTAX  ExtremeCpuMonitorEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                  "An entry in table of describes a single process."
        INDEX { extremeCpuMonitorSlotId, IMPLIED extremeCpuMonitorProcessName }
    ::= { extremeCpuMonitorTable 1 }

    ExtremeCpuMonitorEntry ::=
        SEQUENCE {
            extremeCpuMonitorSlotId
                Unsigned32,
            extremeCpuMonitorProcessName
                DisplayString,
            extremeCpuMonitorProcessId
                Unsigned32,
            extremeCpuMonitorProcessState
                DisplayString,
            extremeCpuMonitorUtilization5secs
                DisplayString,
            extremeCpuMonitorUtilization10secs
                DisplayString,
            extremeCpuMonitorUtilization30secs
                DisplayString,
            extremeCpuMonitorUtilization1min
                DisplayString,
            extremeCpuMonitorUtilization5mins
                DisplayString,
            extremeCpuMonitorUtilization30mins
                DisplayString,
            extremeCpuMonitorUtilization1hour
                DisplayString,
            extremeCpuMonitorMaxUtilization
                DisplayString,
            extremeCpuMonitorUserTime
                DisplayString,
            extremeCpuMonitorSystemTime
                DisplayString
        }

        extremeCpuMonitorSlotId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Slot Id of the process monitored."
    ::= { extremeCpuMonitorEntry 1 }

        extremeCpuMonitorProcessName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                  "Name associated with the reported process id."
    ::= { extremeCpuMonitorEntry 2 }

        extremeCpuMonitorProcessId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Process identifier assigned by the operating system when
                   this process is created."
    ::= { extremeCpuMonitorEntry 3 }

    
        extremeCpuMonitorProcessState OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The current state of the process as reported by Extremeware XOS."
    ::= { extremeCpuMonitorEntry 4 }

        extremeCpuMonitorUtilization5secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 5 seconds."
    ::= { extremeCpuMonitorEntry 5 }

        extremeCpuMonitorUtilization10secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 10 seconds."
    ::= { extremeCpuMonitorEntry 6 }

        extremeCpuMonitorUtilization30secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 30 seconds."
    ::= { extremeCpuMonitorEntry 7 }

        extremeCpuMonitorUtilization1min OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 1 minute."
    ::= { extremeCpuMonitorEntry 8 }


       extremeCpuMonitorUtilization5mins OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 5 minutes."
    ::= { extremeCpuMonitorEntry 9 }

       extremeCpuMonitorUtilization30mins OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 30 minutes."
    ::= { extremeCpuMonitorEntry 10 }

      extremeCpuMonitorUtilization1hour OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 1 hour."
    ::= { extremeCpuMonitorEntry 11 }

        extremeCpuMonitorMaxUtilization OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The maximum CPU utilization by this process since
           the time the start started executing. "
    ::= { extremeCpuMonitorEntry 12 }

        extremeCpuMonitorUserTime OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The amount of time process spend in application space from 
           the time the process started executing. "
    ::= { extremeCpuMonitorEntry 13 }


       extremeCpuMonitorSystemTime OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The amount of time process spend in kernel space from
           the time the process started executing. "
    ::= { extremeCpuMonitorEntry 14 }

--
-- The CPU System table lists cpu utilization history for system processes on each slot 
--
        extremeCpuMonitorSystemTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeCpuMonitorSystemEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                  "Table of CPU utilization for system processes."
    ::= { extremeSwMonitorCpu 4 }

        extremeCpuMonitorSystemEntry OBJECT-TYPE
        SYNTAX  ExtremeCpuMonitorSystemEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                  "An entry in table of describes a single slot CPU 
                    utilization."
        INDEX { extremeCpuMonitorSystemSlotId }
    ::= { extremeCpuMonitorSystemTable 1 }

    ExtremeCpuMonitorSystemEntry ::=
        SEQUENCE {
            extremeCpuMonitorSystemSlotId
                Unsigned32,
            extremeCpuMonitorSystemUtilization5secs
                DisplayString,
            extremeCpuMonitorSystemUtilization10secs
                DisplayString,
            extremeCpuMonitorSystemUtilization30secs
                DisplayString,
            extremeCpuMonitorSystemUtilization1min
                DisplayString,
            extremeCpuMonitorSystemUtilization5mins
                DisplayString,
            extremeCpuMonitorSystemUtilization30mins
                DisplayString,
            extremeCpuMonitorSystemUtilization1hour
                DisplayString,
            extremeCpuMonitorSystemMaxUtilization
                DisplayString
        }
        extremeCpuMonitorSystemSlotId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Slot Id of the system monitored."
    ::= { extremeCpuMonitorSystemEntry 1 }
        extremeCpuMonitorSystemUtilization5secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by set of system resources. This
           is the utilization of the process in the last 5 seconds."
    ::= { extremeCpuMonitorSystemEntry 5 }

        extremeCpuMonitorSystemUtilization10secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by set of system resources This
           is the utilization of the system resources in the last 10 seconds."
    ::= { extremeCpuMonitorSystemEntry 6 }

        extremeCpuMonitorSystemUtilization30secs OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by system resources process. This
           is the utilization of the system resources in the last 30 seconds."
    ::= { extremeCpuMonitorSystemEntry 7 }

        extremeCpuMonitorSystemUtilization1min OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by system resources. This
           is the utilization of the system resources in the last 1 minute."
    ::= { extremeCpuMonitorSystemEntry 8 }


       extremeCpuMonitorSystemUtilization5mins OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by system resources. This
           is the utilization of the system resourcesin the last 5 minutes."
    ::= { extremeCpuMonitorSystemEntry 9 }

       extremeCpuMonitorSystemUtilization30mins OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by system resources. This
           is the utilization of the system resources in the last 30 minutes."
    ::= { extremeCpuMonitorSystemEntry 10 }

      extremeCpuMonitorSystemUtilization1hour OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The CPU utilization by this process. This
           is the utilization of the process in the last 1 hour."
    ::= { extremeCpuMonitorSystemEntry 11 }

        extremeCpuMonitorSystemMaxUtilization OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "The maximum CPU utilization by this process since
           the time the start started executing. "
    ::= { extremeCpuMonitorSystemEntry 12 }

--
-- The System Memory  table lists total, system usage of memory utilization 
--
       extremeMemoryMonitorSystemTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeMemoryMonitorSystemEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                  "Table of Memory consumption for processes that are active."
    ::= { extremeSwMonitorMemory 2 }

        extremeMemoryMonitorSystemEntry OBJECT-TYPE
        SYNTAX  ExtremeMemoryMonitorSystemEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                  "An entry in table of describes a single process."
        INDEX { extremeMemoryMonitorSystemSlotId }
    ::= { extremeMemoryMonitorSystemTable 1 }

    ExtremeMemoryMonitorSystemEntry ::=
        SEQUENCE {
            extremeMemoryMonitorSystemSlotId
                Unsigned32,
            extremeMemoryMonitorSystemTotal
                DisplayString,
            extremeMemoryMonitorSystemFree
                DisplayString,
            extremeMemoryMonitorSystemUsage
                DisplayString,
            extremeMemoryMonitorUserUsage
                DisplayString
        }

        extremeMemoryMonitorSystemSlotId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Slot Id of the MSM monitored."
    ::= { extremeMemoryMonitorSystemEntry 1 }

        extremeMemoryMonitorSystemTotal OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Total amount of DRAM in Kbytes in the system."
    ::= { extremeMemoryMonitorSystemEntry 2 }

        extremeMemoryMonitorSystemFree OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Total amount of free memory in Kbytes in the system."
    ::= { extremeMemoryMonitorSystemEntry 3 }

        extremeMemoryMonitorSystemUsage OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Total amount of memory used by system services in Kbytes in the system."
    ::= { extremeMemoryMonitorSystemEntry 4 }

        extremeMemoryMonitorUserUsage OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Total amount of memory used by applications in Kbytes in the system."
    ::= { extremeMemoryMonitorSystemEntry 5 }


--
-- The Memory Task table lists all executing processs 
--
        extremeMemoryMonitorTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeMemoryMonitorEntry
        MAX-ACCESS  not-accessible
        STATUS current
                DESCRIPTION
                  "Table of Memory consumption for processes that are active."
    ::= { extremeSwMonitorMemory 3 }

        extremeMemoryMonitorEntry OBJECT-TYPE
        SYNTAX  ExtremeMemoryMonitorEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                  "An entry in table of describes a single process."
        INDEX { extremeMemoryMonitorSlotId, IMPLIED extremeMemoryMonitorProcessName }
    ::= { extremeMemoryMonitorTable 1 }

    ExtremeMemoryMonitorEntry ::=
        SEQUENCE {
            extremeMemoryMonitorSlotId
                Unsigned32,
            extremeMemoryMonitorProcessName
                DisplayString,
            extremeMemoryMonitorUsage
                Unsigned32,
            extremeMemoryMonitorLimit
                Unsigned32,
            extremeMemoryMonitorZone
                DisplayString,
            extremeMemoryMonitorGreenZoneCount
                Unsigned32,
            extremeMemoryMonitorYellowZoneCount
                Unsigned32,
            extremeMemoryMonitorOrangeZoneCount
                Unsigned32,
            extremeMemoryMonitorRedZoneCount
                Unsigned32,
            extremeMemoryMonitorGreenZoneThreshold
                Unsigned32,
            extremeMemoryMonitorYellowZoneThreshold
                Unsigned32,
            extremeMemoryMonitorOrangeZoneThreshold
                Unsigned32,
            extremeMemoryMonitorRedZoneThreshold
                Unsigned32
        }

        extremeMemoryMonitorSlotId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Slot Id of the process monitored."
    ::= { extremeMemoryMonitorEntry 1 }

        extremeMemoryMonitorProcessName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                  "Name associated with the reported process."
    ::= { extremeMemoryMonitorEntry 2 }

        extremeMemoryMonitorUsage OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Current memory consumption in Kbytes for the process."
    ::= { extremeMemoryMonitorEntry 3 }

        extremeMemoryMonitorLimit OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Maximum memory consumption in Kbytes for the process."
    ::= { extremeMemoryMonitorEntry 4 }

        extremeMemoryMonitorZone OBJECT-TYPE
            SYNTAX DisplayString (SIZE(0..8))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Current process memory consumption zone. Zones are Green (up to 70% cosumption), Yellow (70-80%), Orange (80-90%), Red (90-95%) either total cpu consumption or memory consumption limit configured per process."
    ::= { extremeMemoryMonitorEntry 5 }

    
        extremeMemoryMonitorGreenZoneCount OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Number of times process moved to green zone."
    ::= { extremeMemoryMonitorEntry 6 }

        extremeMemoryMonitorYellowZoneCount OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Number of times process moved from green to yellow zone."
    ::= { extremeMemoryMonitorEntry 7 }


        extremeMemoryMonitorOrangeZoneCount OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Number of times process moved from yellow zone to orange."
    ::= { extremeMemoryMonitorEntry 8 }

        extremeMemoryMonitorRedZoneCount OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Number of times process moved from orange zone to red."
    ::= { extremeMemoryMonitorEntry 9 }

        extremeMemoryMonitorGreenZoneThreshold OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Percentage of memory consumption that defines green zone."
    ::= { extremeMemoryMonitorEntry 10 }

        extremeMemoryMonitorYellowZoneThreshold OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Percentage of memory consumption that defines yellow zone."
    ::= { extremeMemoryMonitorEntry 11 }

        extremeMemoryMonitorOrangeZoneThreshold OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Percentage of memory consumption that defines orange zone."
    ::= { extremeMemoryMonitorEntry 12 }

        extremeMemoryMonitorRedZoneThreshold OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "Percentage of memory consumption that defines red zone."
    ::= { extremeMemoryMonitorEntry 13 }


 
  extremeCpuMonitorThreshold OBJECT-TYPE
        SYNTAX INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                 "Threshold for CPU Aggregation utilization trap"
    ::= { extremeSwMonitorCpu 5 }

    extremeCpuMonitorCurrentUtilization OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "Percentage of the amount of time recorded in seconds that the process spends occupying CPU resources.  This value is reported in extremeSwMonitorCpuUtilization and extremeSwMonitorCpuUtilizationNormal trap."
   ::= { extremeSwMonitorCpu 6 }


    extremeSwMonitorCpuUtilization NOTIFICATION-TYPE
            OBJECTS { extremeCpuMonitorSlotId,
                      extremeCpuMonitorProcessName,
                      extremeCpuMonitorCurrentUtilization,
                      extremeCpuMonitorThreshold }
            STATUS   current
            DESCRIPTION
            "Notification of process exceeding CPU utilization threshold. Notification is send every extremeCpuMonitorInterval value in seconds until utilization falls below threshold."
        ::= { extremeSwMonitorNotificationsPrefix 1 }


    extremeServiceLicenseExpiryDate OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the expiration date of the license."
   ::= { extremeServiceLicense 1 }

    extremeServiceLicenseType OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the service license type."
   ::= { extremeServiceLicense 2 }

    imageDescription OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the image version on which license was enabled."
   ::= { extremeServiceLicense 3 }

    noOfDaysLeft OBJECT-TYPE
        SYNTAX INTEGER (0..90)
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the number of days left to service license expire."
   ::= { extremeServiceLicense 4 }

    trialPeriod OBJECT-TYPE
        SYNTAX INTEGER (0..90)
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "This report the number of days left to service license expire."
   ::= { extremeTrialLicense 1 }

    extremeServiceLicenseExpiration NOTIFICATION-TYPE
            OBJECTS { extremeServiceLicenseExpiryDate,
                      extremeServiceLicenseType,
                      imageDescription,
		      noOfDaysLeft	 
		}
            STATUS   current
            DESCRIPTION
            "The service expiry notification is generated about 90 days service contract expiration, then 60,30,7 days and daily after that."
        ::= { extremeSwMonitorNotificationsPrefix 2 }

    extremeTrialLicenseExpiration NOTIFICATION-TYPE
            OBJECTS { trialPeriod,
                      imageDescription,
		      noOfDaysLeft	 
		}
            STATUS   current
            DESCRIPTION
            "Trial license expiry notification is generated every day."
        ::= { extremeSwMonitorNotificationsPrefix 3 }


    extremeSwMonitorCpuUtilizationNormal NOTIFICATION-TYPE
            OBJECTS { extremeCpuMonitorSlotId,
                      extremeCpuMonitorProcessName,
                      extremeCpuMonitorCurrentUtilization,
                      extremeCpuMonitorThreshold }
            STATUS   current
            DESCRIPTION
            "Notification of process CPU utilization falling below threshold.  The generation of this notification corresponds with the extremeSwMonitorCpuUtilization (CPU excessed threshold) notification.  When the CPU utilization of the process that triggered the extremeSwMonitorCpuUtilization notification falls back below the configured threshold, this (return to normal) notification will be generated."
        ::= { extremeSwMonitorNotificationsPrefix 4 }

END

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

EXTREME-POE-MIB DEFINITIONS ::= BEGIN
	IMPORTS 
        MODULE-IDENTITY 	FROM SNMPv2-SMI
	OBJECT-TYPE 		FROM SNMPv2-SMI
	NOTIFICATION-TYPE	FROM SNMPv2-SMI
	Integer32		FROM SNMPv2-SMI
	Gauge32 		FROM SNMPv2-SMI
	Counter32 		FROM SNMPv2-SMI
        TruthValue		FROM SNMPv2-TC
       	extremeAgent 		FROM EXTREME-BASE-MIB
        extremeV2Traps		FROM EXTREME-BASE-MIB
        pethMainPseGroupIndex,
        pethPsePortGroupIndex,
        pethPsePortIndex                FROM POWER-ETHERNET-MIB;


        extremePoE MODULE-IDENTITY
                      LAST-UPDATED "0007240000Z"
                      ORGANIZATION "Extreme Networks, Inc."
                      CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Power over Ethernet MIB objects"
        ::= { extremeAgent 27 }

        extremePethMain   OBJECT IDENTIFIER ::= {extremePoE 1}
        extremePethPort   OBJECT IDENTIFIER ::= {extremePoE 2}
--        powerEthernetMIB  OBJECT IDENTIFIER ::= {extremePoE 3}
        extremePethSystem OBJECT IDENTIFIER ::= {extremePoE 4}
--        extremePethTraps  OBJECT IDENTIFIER ::= {extremeV2Traps 12}


-- extremePethSystem
extremePethSystemAdminEnable OBJECT-TYPE
          SYNTAX INTEGER   {
                  enable(1),
                  disable(2)
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                  "Controls whether inline power is provided by the system."
          DEFVAL                { enable }
          ::= { extremePethSystem 1 }

extremePethSystemDisconnectPrecedence OBJECT-TYPE
          SYNTAX INTEGER   {
                  lowest-priority(1),
                  deny-port(2)
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                 "Controls the disconnect function of power management.
                  When the power drain exceeds the available power budget,
                  due to a rise in power consumption after power is allocated
                  to the ports, the PoE controller disconnects one of the ports
                  to prevent overload on the power supply. There are two controls:
                  Lowest-priority: next port connected causes a shutdown of the 
                                   lowest priority port.
                  Deny-port:       next port is denied power, regardless of priority."
          DEFVAL                { deny-port }
         ::= { extremePethSystem 2 }

extremePethSystemUsageThreshold OBJECT-TYPE
          SYNTAX      Integer32  (1..99)
          UNITS      "%"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
                  "The usage threshold expressed in percents for
                   comparing the measured power and initiating
                   an alarm if the threshold is exceeded."
         ::= { extremePethSystem 3 }

extremePethSystemPowerSupplyMode OBJECT-TYPE
          SYNTAX INTEGER   {
                  redundant(1),
                  loadSharing(2),
                  notApplicable(3)
          }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
                  "Controls whether the power supply operate in
                   redundant or load-sharing mode. Systems which do not
                   provide redundant or load-sharing operations will return
                   an error on setting, and notApplicable on read."
         ::= { extremePethSystem 4 }

extremePethSystemLegacyEnable OBJECT-TYPE
          SYNTAX INTEGER   {
                  enable(1),
                  disable(2)
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                  "Controls whether legacy is supported by the system.  This is only supported on 
                   S300-24 stackables currently."
          DEFVAL                { disable }
          ::= { extremePethSystem 5 }

-- Per Slot Table
extremePethPseSlotTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF ExtremePethPseSlotEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
              "A table of objects that provides power management capabilities per slot."
          ::= { extremePethMain 2 }

extremePethPseSlotEntry OBJECT-TYPE
          SYNTAX      ExtremePethPseSlotEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
              "A set of objects that display and control the power characteristics of a slot."
          INDEX    { extremePethSlotNumber }
          ::= { extremePethPseSlotTable 1 }

ExtremePethPseSlotEntry ::= SEQUENCE {
        extremePethSlotNumber                   Integer32,
        extremePethSlotPowerLimit               Integer32,
        extremePethSlotConsumptionPower         Gauge32,
        extremePethSlotClearConnectHistory      INTEGER,
        extremePethSlotReservedConsumptionPower Gauge32,
        extremePethSlotCommonConsumptionPower   Gauge32,
        extremePethSlotAdminEnable              INTEGER,
        extremePethSlotPoeStatus                INTEGER,
        extremePethSlotPoeResetSystem           INTEGER,
	extremePethSlotMaxAvailPower            Gauge32,
        extremePethSlotMaxCapacity              Gauge32,
        extremePethSlotBackupPSU                INTEGER,
        extremePethSlotPSUActive                INTEGER,
	extremePethSlotMeasuredPower            Gauge32,
	extremePethSlotMainPseIndex		Integer32
}

extremePethSlotNumber  OBJECT-TYPE
          SYNTAX                Integer32
          MAX-ACCESS            not-accessible
          STATUS                current
          DESCRIPTION
                  "Slot number. This is the same as the Group Index"
          ::= { extremePethPseSlotEntry 1 }

extremePethSlotPowerLimit  OBJECT-TYPE
          SYNTAX                Integer32
          UNITS                 "watts"
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
                  "The configured maximum amount of inline power available to
                  slot. The operational power available to the slot is based
                  upon other operational and configuration parameters, such as
                  the power-supply mode and status. This number is provided by
                  the object extremePethSlotMaxAvailPower.  extremePethSlotPowerLimit 
                  may be greater than extremePethSlotMaxAvailPower, however, cannot 
                  exceed the maximum slot capacity, provided by extremePethSlotMaxCapacity"
          ::= { extremePethPseSlotEntry 2 }

extremePethSlotConsumptionPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "watts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The amount of power allocated to PoE devices on the slot expressed in Watts.
                   The amount of power allocated to a PoE device is based upon the PoE device 
                   class and/or the port's extremePethPortViolationPrecedence setting. For
                   example, in the default configuration of extremePethPortViolationPrecedence 
                   set to maxAdvertisedOperator(3), and the extremePethPortOperatorLimit set to 
                   15400, a PoE device is allocated 15.4 watts."
          ::= { extremePethPseSlotEntry 3 }

extremePethSlotClearConnectHistory  OBJECT-TYPE
          SYNTAX                INTEGER { set(1),
                                          clear(2)
                                        }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION
           "Clears the port connection history of the specified slot.
            Reading the value always reurns clear(2)."
          ::= { extremePethPseSlotEntry 4 }

extremePethSlotReservedConsumptionPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "Milliwatts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The amount of reserved power consumed on the slot expressed in Milliwatts."
          ::= { extremePethPseSlotEntry 5 }

extremePethSlotCommonConsumptionPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "Milliwatts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The amount of common power allocated on the slot expressed in Milliwatts.
                   This value is computed by the formula:
                   extremePethSlotConsumptionPower - extremePethSlotReservedConsumptionPower."
          ::= { extremePethPseSlotEntry 6 }

extremePethSlotAdminEnable OBJECT-TYPE
          SYNTAX INTEGER   {
                  enable(1),
                  disable(2)
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION           "Controls whether inline power is provided by the slot."
          DEFVAL                { enable }
          ::= { extremePethPseSlotEntry 7 }

extremePethSlotPoeStatus OBJECT-TYPE
          SYNTAX INTEGER   {
                  initializing(1),
                  operational(2),
                  downloadFail(3),
                  calibrationRequired(4),
                  invalidFirmware(5),
                  mismatchVersion(6),
                  updating(7),
                  invalidDevice(8),
                  notOperational(9),
                  other(10)
          }
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION           
              "Describes the status of the PoE system on the slot.
              initializing - PoE controller is under initialization,
              operational - PoE controller is operational and is ready or
                            providing power,
              downloadFail - PoE controller required update and the update
                             failed, PoE reset is required to re-update,
              calibrationRequired - PoE contoller is operational, however
                                    calibration is required to provide power,
              invalidFirmware - PoE controller contains invalid firmware,
              mismatchVersion - PoE controller update completed, however
                                version mismatches expected, reboot,
              updating        - PoE controller is being updated,
              invalidDevice   - PoE controller detected an invalid/bad PoE
                                device.
              notOperational  - PoE controller is not yet operational
              other           - PoE controller is in undefined stats."
          ::= { extremePethPseSlotEntry 8 }

extremePethSlotPoeResetSystem OBJECT-TYPE
          SYNTAX                INTEGER { set(1), clear(2) }
          MAX-ACCESS		read-write
          STATUS		current
          DESCRIPTION
                "Resets the PoE system on the slot. Reading returns clear(2)"
          ::= { extremePethPseSlotEntry 9 }

extremePethSlotMaxAvailPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "watts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The maximum power available to the slot expressed in Watts.
	           The value depends on various configuration parameters and
                   power-supply modes and status."
          ::= { extremePethPseSlotEntry 10 }

extremePethSlotMaxCapacity  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "watts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The maximum capacity of the slot expressed in Watts. This
                   provides the hardware limitation of the slot. Actual
                   amount of power is dependant on system status. The
                   object extremePethSlotPowerLimit must not be greater than
                   this amount."
          ::= { extremePethPseSlotEntry 11 }

extremePethSlotBackupPSU OBJECT-TYPE
          SYNTAX INTEGER   {
                  none(1),
                  internal(2),
                  external(3),
                  notApplicable(4)                  
          }
          MAX-ACCESS            read-write
          STATUS                current
          DESCRIPTION           "Controls the backup power supply for inline power for the slot.
                                 A system which does not allow the backup PSU to be
                                 configured will return an error upon setting."
          ::= { extremePethPseSlotEntry 12 }

extremePethSlotPSUActive OBJECT-TYPE
          SYNTAX INTEGER   {
                  none(1),
                  internal(2),
                  external(3)
          }
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION           "Inline Power supply status indication for the slot. Indicates which PSU
                                 is currently active.  In the case of a failover a none indication can
                                 occur until one of the PSU has finished powering up."
          ::= { extremePethPseSlotEntry 13 }

extremePethSlotMeasuredPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "milliwatts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The measured amount of power for all PoE device on the
                   slot."
          ::= { extremePethPseSlotEntry 14 }

extremePethSlotMainPseIndex   OBJECT-TYPE
          SYNTAX                Integer32
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The index into the PethMainPseTable. Provides the
	           mapping of the slot identifier to pethMainPseGroupIndex."
          ::= { extremePethPseSlotEntry 15 }
	
extremePethPsePortTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF ExtremePethPsePortEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
              "A table of objects that extends the standard pethPsePortTable."
          ::= { extremePethPort 1 }

extremePethPsePortEntry OBJECT-TYPE
          SYNTAX      ExtremePethPsePortEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "A set of objects that display and control the power characteristics 
             of a powerEthernet PSE port. This table extends the standard pethPsePortTable."
          INDEX    { pethPsePortGroupIndex, pethPsePortIndex }
          ::= { extremePethPsePortTable 1 }

ExtremePethPsePortEntry ::= SEQUENCE {
	extremePethPortOperatorLimit        Integer32,
        extremePethPortReservedBudget       Integer32,
        extremePethPortViolationPrecedence  INTEGER,
        extremePethPortClearFault           INTEGER,
        extremePethPortResetPower           INTEGER,
	extremePethPortMeasuredPower	    Gauge32
}

extremePethPortOperatorLimit  OBJECT-TYPE
          SYNTAX Integer32 (3000..30000)  
          UNITS			"Milliwatts"
          MAX-ACCESS		read-write
          STATUS		current
          DESCRIPTION
             "Controls individual port maximum power level."
          DEFVAL 		{ 15400 }
          ::= { extremePethPsePortEntry 1 }

extremePethPortReservedBudget  OBJECT-TYPE
          SYNTAX Integer32 (0..30000)  
          UNITS			"Milliwatts"
          MAX-ACCESS		read-write
          STATUS		current
          DESCRIPTION
             "Controls individual port maximum power level. Value is 0 or 
              in the range of 3000..30000"
          DEFVAL 		{ 0 }
          ::= { extremePethPsePortEntry  2 }

extremePethPortViolationPrecedence OBJECT-TYPE
          SYNTAX       INTEGER  {
                                advertisedClass(1),
                                operatorLimit(2),
                                maxAdvertisedOperator(3),
                                none(4)
                                }  
          MAX-ACCESS		read-write
          STATUS		current
          DESCRIPTION
                "Sets the violation precedence for the specified ports. A value of 
                 advertised-class will remove/deny power in the case an 802.3af compliant 
                 PD consumes power beyond its advertised class limit. A value of 
                 operator-limit will remove/deny power should the PD consume power 
                 beyond the configured operator-limit. A value of max-class-operator will 
                 remove/deny power if the PD consumes power beyond the maximum of the 
                 detected class limit and the operator-limit. A value of none will 
                 remove/deny power in case the PD device exceeds the maximum allowable 
                 wattage according to regulatory maximum of 20 W. Default is 
                 max-class-operator which allows operation of both 802.3af compliant and 
                 legacy PDs."
          ::= { extremePethPsePortEntry  3 }

extremePethPortClearFault OBJECT-TYPE
          SYNTAX                     INTEGER { set(1), clear(2) }
          MAX-ACCESS		read-write
          STATUS		current
          DESCRIPTION
                "Clears the fault condition. Reading always returns clear(2)."
          ::= { extremePethPsePortEntry 4 }

extremePethPortResetPower OBJECT-TYPE
          SYNTAX                     INTEGER { set(1), clear(2) }
          MAX-ACCESS		read-write
          STATUS		current
          DESCRIPTION
                "Resets the power on the port. Reading always returns clear(2)"
          ::= { extremePethPsePortEntry 5 }

extremePethPortMeasuredPower  OBJECT-TYPE
          SYNTAX                Gauge32
          UNITS                 "Milliwatts"
          MAX-ACCESS            read-only
          STATUS                current
          DESCRIPTION
                  "The amount of power consumed on the port expressed in Milliwatts."
          ::= { extremePethPsePortEntry 6 }

END

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

EXTREME-VLAN-MIB DEFINITIONS ::= BEGIN

    -- =========================================================================
    --
    --    Interpretation of the Interface Table for VLAN and encapsulation
    --    interfaces:
    -- 
    --    OBJECT    VALUE/USE
    --
    --    ifIndex    Same interpretation as RFC1573.  A unique value,
    --            greater than zero for each VLAN/Encapsulation interface.
    --
    --    ifDescr    Same interpretation as RFC1573.  A textual string
    --            containing information about the interface.  This
    --            string should include the name of the manufacturer,
    --            the product name, the version of the software, and that
    --            the entry is a vlan or encapsulation interface.
    --
    --            Example: "VLAN Red"
    --            Example: "802.1Q Encapsulation Tag 004"
    --
    --    ifType    propVirtual(53)
    --
    --    ifMtu        Equivalent to the least common denominator MTU of the
    --            set of ports associated with the VLAN or ENCAPS interface.
    --            For example, if the VLAN contains one ethernet port, then
    --            the value of this object is 1518.  If the VLAN contains
    --            all FDDI ports, the value of this object is 4500.  If
    --            a vlan contains a mix of ethernet and FDDI ports, the
    --            value of this object is 1518.  If there are no ports associated
    --            with the interface, then the ifMtu is zero.
    --
    --    ifSpeed        The value of this object is zero, as defined by RFC1573
    --            for sub-layers that have no concept of bandwidth.             
    --
    --    ifPhysAddress    The value of this object is always equal to a null octet
    --            string.
    --
    --    ifAdminStatus    Always equal to up(1).  SetRequest-PDUs fail.
    --
    --    ifOperStatus    The value of this object is equal to up(1) if the
    --            ifOperStatus of at least one port in in the set of ports
    --            stacked below the VLAN layer is up(1).  The value of this 
    --            object is down(2) if the ifOperStatus of all ports stacked
    --            below the vlan layer is down(2).  The value of this
    --            object is down(2) if there are no ports stacked below the
    --               the vlan sublayer.
    --
    --    ifLastChange     Same interpretation as RFC1573.  The value of sysUpTime
    --             at the time the interface entered its current operational
    --            state.  If the current state was entered prior to the 
    --            last re-initialization of the local network management
    --            subsystem, then this object contains a zero value.
    --     
    --    ifInOctets    These objects  return NO_SUCH_NAME on reads and writes. 
    --    ifInUcastPkts      This approach is more desireable than returning zero
    --    ifInNUcastPkt    on reads because NMS's cannot differentiate between
    --    ifInDiscards    returning a zero for non-support vs returning a real
    --    ifInErrors    zero value for the counter.  Inability to distinguish
    --    ifInUnknownProtos between these two cases would essentially prevent
    --    ifOutOctets    future implementation of these objects, therefore
    --    ifOutUcastPkts    NO_SUCH_NAME is returned to indicate no-support.
    --    ifOutNUcastPkts    Future implementations may choose to return real values
    --    ifOutDiscards    for these counters.
    --    ifOutDiscards                "
    --    ifOutErrors                "
    --    ifLinkUpDownTrapEnable                  "
    --    ifConnectorPresent            "
    --    ifHighSpeed                "
    --    ifName                    "
    --
    --    ifOutQLen    Deprecated in RFC1573.  Set to zero if present.
    --    ifSpecific    Deprecated in RFC1573.  Set to {0.0} if present. 
    --
    --    linkUp TRAP    Not supported for the vlan/encaps sublayers
    --    linkDown TRAP    Not supported for the vlan/encaps sublayer
    --
    -- ======================================================================


    IMPORTS
        MODULE-IDENTITY             FROM SNMPv2-SMI
        RowStatus, TruthValue,
        MacAddress                  FROM SNMPv2-TC
        DisplayString               FROM SNMPv2-TC
        OBJECT-TYPE                 FROM SNMPv2-SMI
        Integer32, IpAddress        FROM SNMPv2-SMI
        extremeAgent                FROM EXTREME-BASE-MIB
        PortList                    FROM EXTREME-BASE-MIB
        extremeSlotNumber           FROM EXTREME-SYSTEM-MIB
        Counter64                   FROM SNMPv2-SMI
        InterfaceIndex              FROM IF-MIB
        InterfaceIndexOrZero        FROM IF-MIB;

    extremeVlan MODULE-IDENTITY
        LAST-UPDATED "201310230000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme Virtual LAN objects"
    ::= { extremeAgent 2 }

    --
    -- The objects are arranged into the following groups:
    --
    extremeVlanGroup            OBJECT IDENTIFIER ::= { extremeVlan 1 }
    extremeVirtualGroup         OBJECT IDENTIFIER ::= { extremeVlan 2 }
    extremeEncapsulationGroup   OBJECT IDENTIFIER ::= { extremeVlan 3 }
    extremeVlanIpGroup          OBJECT IDENTIFIER ::= { extremeVlan 4 }
    extremeProtocolGroup        OBJECT IDENTIFIER ::= { extremeVlan 5 }
    extremeVlanOpaqueGroup      OBJECT IDENTIFIER ::= { extremeVlan 6 }
    extremeVlanStackGroup       OBJECT IDENTIFIER ::= { extremeVlan 7 }
    extremeVlanStatsGroup       OBJECT IDENTIFIER ::= { extremeVlan 8 }
    extremeVlanAggregationGroup OBJECT IDENTIFIER ::= { extremeVlan 9 }
    extremeVlanTranslationGroup OBJECT IDENTIFIER ::= { extremeVlan 10 }
    extremePrivateVlan          OBJECT IDENTIFIER ::= { extremeVlan 11 }

    --    
    --
    -- Extreme Networks Vlan Type Textual Convention
    --
    --  vlanLayer2(1) = The globally identified VLAN interface is protocol
    --  independent and based on port grouping.  The configuration of
    --  port grouping is controlled through the ifStackTable.
    --

    ExtremeVlanType ::= INTEGER {
        vlanLayer2(1)
    }

    ExtremeVlanEncapsType ::= INTEGER { 
        vlanEncaps8021q(1),
        vlanEncapsNone(2)
    }


    --
    -- All groups in this MIB are optional.  Support for a 
    -- particular group is dependent upon the capabilities
    -- of the network device.
    --
    -- The VLAN Group
    --
    --    The VLAN mapping group contains objects for
    --    identifying VLANs within a device, and for mapping
    --    these VLANs to a global identifier.  It consists of the
    --    extremeVlanGlobalMappingTable and the extremeVlanIfTable.
    --
    -- The Virtual Group
    --
    --    The virtual group contains the extremeNextVirtIfIndex object.
    --    In the future, other groups and object will be added as
    --    capabilities are added.
    --
    -- The Encapsulation Group
    --
    --    The Encapsulation Group contains objects for identifying
    --    and configuring encapsulation entries within a device.
    --    It consists of the extremeVlanEncapsIfTable.
    --
    -- The Forwarding Database Group
    --
    --    Contains objects for managing MAC-layer FDBs, including
    --    the extremeVlanDot1qStaticTable


    --
    -- The Extreme Networks VLAN Global Mapping Table
    --
    -- This table is implemented by all Extreme Networks network devices  
    -- that support interfaces to globally identified VLANs.
    --

    extremeVlanGlobalMappingTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanGlobalMappingEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
            "This table lists VLAN interfaces that are globally
            identified.  A single entry exists in this list for
            each VLAN interface in the system that is bound to
            a global identifier."
    ::= { extremeVlanGroup 1 }

    extremeVlanGlobalMappingEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanGlobalMappingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "An individual VLAN interface global mapping entry.
            Entries in this table are created by setting the
            extremeVlanIfGlobalIdentifier object in the
            extremeVlanIfTable to a non-zero value."
        INDEX { extremeVlanGlobalMappingIdentifier }
    ::= { extremeVlanGlobalMappingTable 1 }

    ExtremeVlanGlobalMappingEntry ::=
        SEQUENCE {
            extremeVlanGlobalMappingIdentifier
                INTEGER ,
            extremeVlanGlobalMappingIfIndex
                Integer32
        }

    extremeVlanGlobalMappingIdentifier OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS    read-only
        STATUS current
        DESCRIPTION
            "An index into the extremeVlanGlobalMappingTable and an
            administratively assigned global VLAN identifier.  The
            value of this object globally identifies the VLAN interface.
            For VLAN interfaces, on different network devices, which are
            part of the same globally identified VLAN, the value of this
            object will be the same."
    ::= { extremeVlanGlobalMappingEntry 1 }

    extremeVlanGlobalMappingIfIndex OBJECT-TYPE
        SYNTAX Integer32 
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The value of extremeVlanIfIndex for the VLAN interface in the
            extremeVlanIfTable, which is bound to the global identifier
            specified by this entry."
    ::= { extremeVlanGlobalMappingEntry 2 }

    --
    -- The Extreme Networks VLAN Interface Table
    --
    -- This table is implemented by all Extreme Networks network devices  
    -- that support VLAN interfaces.
    --

    extremeVlanIfTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanIfEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists VLAN interfaces that exist within
            a device.  A single entry exists in this list for each
            VLAN interface in the system.  A VLAN interface may
            be created, destroyed and/or mapped to a globally 
            identified vlan."
    ::= { extremeVlanGroup 2 }

    extremeVlanIfEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanIfEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "An individual VLAN interface entry.  When an NMS wishes
            to create a new entry in this table, it must obtain a 
            non-zero index from the extremeNextAvailableVirtIfIndex
            object.  Row creation in this table will fail if the
            chosen index value does not match the current value 
            returned from the extremeNextAvailableVirtIfIndex object."
        INDEX { extremeVlanIfIndex }
    ::= { extremeVlanIfTable 1 }

    ExtremeVlanIfEntry ::=
        SEQUENCE {
            extremeVlanIfIndex
                Integer32,
            extremeVlanIfDescr
                DisplayString,
            extremeVlanIfType
                ExtremeVlanType,
            extremeVlanIfGlobalIdentifier
                INTEGER,
            extremeVlanIfStatus
                RowStatus,
            extremeVlanIfIgnoreStpFlag
                TruthValue,
            extremeVlanIfIgnoreBpduFlag
                TruthValue,
            extremeVlanIfLoopbackModeFlag
                TruthValue,
            extremeVlanIfVlanId
                Integer32,
            extremeVlanIfEncapsType
                ExtremeVlanEncapsType,
            extremeVlanIfAdminStatus
                TruthValue
        }

    extremeVlanIfIndex OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS     read-create
        STATUS current
        DESCRIPTION
            "The index value of this row and the vlan's ifIndex in the
            ifTable. The NMS obtains the index value for this row by
            reading the extremeNextAvailableVirtIfIndex object."
    ::= { extremeVlanIfEntry 1 }

    extremeVlanIfDescr OBJECT-TYPE
        SYNTAX    DisplayString (SIZE(0..32))
        MAX-ACCESS    read-create
        STATUS    current
        DESCRIPTION
            "This is a description of the VLAN interface."
    ::= {extremeVlanIfEntry 2}

    extremeVlanIfType OBJECT-TYPE
        SYNTAX     ExtremeVlanType
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The VLAN interface type."
    ::= { extremeVlanIfEntry 3 }

    extremeVlanIfGlobalIdentifier OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS    read-create 
        STATUS deprecated
        DESCRIPTION
            "An administratively assigned global VLAN identifier.  For
            VLAN interfaces, on different network devices, which are
            part of the same globally identified VLAN, the value of this
            object will be the same.  

            The binding between a global identifier and a VLAN 
            interface can be created or removed.  To create a binding
            an NMS must write a non-zero value to this object.  To
            delete a binding, the NMS must write a zero to this
            object. The value 1 is reserved for the default VLAN and
            this cannot be deleted or re-assigned."
    ::= { extremeVlanIfEntry 4 }

    extremeVlanIfStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The status column for this VLAN interface. 
            This OBJECT can be set to:
                active(1)
                createAndGo(4)
                createAndWait(5)
                destroy(6)

            The following values may be read:
                active(1)
                notInService(2)
                notReady(3).
            
            Setting this object to createAndGo(4) causes the agent
            to attempt to create and commit the row based on 
            the contents of the objects in the row.  If all necessary
            information is present in the row and the values are
            acceptible to the agent, the agent will change the 
            status to active(1).  If any of the necessary objects  
            are not available, the agent will reject the creation
            request.    

            Setting this object to createAndWait(5) causes a row
            in this table to be created.  The agent sets the
            status to notInService(2) if all of the information is
            present in the row and the values are acceptable to the
            agent; otherwise, the agent sets the status to notReady(3).

            Setting this object to active(1) is only valid when
            the current status is active(1) or notInService(2).  

            When the state of the row transitions is set to active(1),
            the agent creates the corresponding row in the ifTable.

            Setting this object to destroy(6) will remove the
            corresponding VLAN interface, remove the entry in this
            table, and the corresponding entries in the
            extremeVlanGlobalMappingTable and the ifTable.

            In order for a set of this object to destroy(6) to succeed,
            all dependencies on this row must have been removed. These
            will include any stacking dependencies in the ifStackTable
            and any protocol specific tables dependencies."
    ::= { extremeVlanIfEntry 6 }

    extremeVlanIfIgnoreStpFlag OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "Enable/disable STP for this VLAN interface. Setting this
            object to true will cause the ports on this VLAN to ignore
            STP BPDUs. When a vlan is first created, the Default value 
            is FALSE, which means that the VLAN uses STP port information"
    ::= { extremeVlanIfEntry 7 }

    extremeVlanIfIgnoreBpduFlag OBJECT-TYPE
         SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "Setting this object to true causes this VLAN's BPDU's to be ignored by 
            the Spanning Tree process. This can be used to keep the root bridge within 
            one's own network when external switches also fall within the same Spanning 
            Tree Domain. When a vlan is first created, the Default value is FALSE."
    ::= { extremeVlanIfEntry 8 }

    extremeVlanIfLoopbackModeFlag OBJECT-TYPE
         SYNTAX        TruthValue
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
            "Setting this object to true causes loopback mode to be enabled on this VLAN."
    ::= { extremeVlanIfEntry 9 }

    extremeVlanIfVlanId OBJECT-TYPE
                SYNTAX  Integer32 (1..4095)
                MAX-ACCESS      read-write
         STATUS current
         DESCRIPTION
            "The VLAN ID of this VLAN."
    ::= { extremeVlanIfEntry 10 }

    extremeVlanIfEncapsType OBJECT-TYPE
        SYNTAX  ExtremeVlanEncapsType
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The encapsulation algorithm used when encapsulating
            packets transmitted, or de-encapsulating packets
            received through this interface."
    ::= { extremeVlanIfEntry 11 }

    extremeVlanIfAdminStatus OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "Enable/disable this VLAN interface. Setting this
             object to true will administratively enable this VLAN."
    ::= { extremeVlanIfEntry 12 }

    --
    -- The Extreme Networks VLAN Encapsulation Interface Table
    --
    -- VLAN Encapsulation refers to the ability to multiplex
    -- several VLANs over a single network segment by explicitly
    -- labeling eack packet with a tag that identifies the packet's
    -- VLAN membership.
    --
    -- The only tagging scheme supported by this MIB is IEEE 802.1Q
    -- Some ports support tagging, some don't.  For ports that support 
    -- tagging, they may have some VLANs that operate in tagging mode, 
    -- some not in tagging mode.
    --
    -- The encapsulation interface will be creatable by the NMS using
    -- the extremeVlanIfTable.  This table will allow the NMS to define 
    -- certain attributes of the encapsulation including an encapsulation 
    -- algorithm and a tag value.  Using the ifStack table, an encapsulation
    -- interface may be stacked underneath a VLAN interface and on top of port(s).
    -- 
    -- Example ifTable Stacking:
    --
    --        +=======================+=======================+
    --        |     VLAN Xface 9      |       VLAN Xface 11   |
    --        +=======================+=======================+
    --        +=======================+
    --        |      ENCAPS Xface 10  |
    --        +=======================+
    --        +=====+=====+=====+=====+=====+=====+=====+=====+
    --        |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |<=== Ports
    --        +=====+=====+=====+=====+=====+=====+=====+=====+
    --
    -- ifStackTable Instances:
    --        ifStackHigher    ifStackLower
    --                   0               9
    --                   0               11
    --                   1               0
    --                   2               0
    --                   3               0
    --                   4               0
    --                   9               10
    --                  10               1
    --                  10               2
    --                  10               3
    --                  10               4
    --                  11               5
    --                  11               6
    --                  11               7
    --                  11               8
    --
    -- A stack that contains a VLAN, encapsulation and a port interface,
    -- specifies:
    --
    -- * For packets received through the given port that use the given
    --   encapsulation scheme and contain the given tag, those packets
    --   are members of the given VLAN.
    --
    -- * For unencapsulated packets from the given VLAN that are to be
    --   transmitted out the given port, those packets must first be
    --   encapsulated using the given encapsulation algorithm and tag.
    -- 
    -- This table is implemented by all Extreme Networks network devices  
    -- that support the encapsulation of multiple VLANs over a single
    -- interface.


    extremeVlanEncapsIfTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanEncapsIfEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists VLAN encapsulation interfaces that
            exist within a device.  A single entry exists in this
            list for each VLAN encapsulation interface in the
            system.  A VLAN encapsulation interface may be created
            or destroyed."
    ::= { extremeEncapsulationGroup 1 }

    extremeVlanEncapsIfEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanEncapsIfEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "An individual VLAN encapsulation interface entry. 
            When an NMS wishes to create a new entry in this table,
            it must obtain a non-zero index from the
            extremeNextAvailableVirtIfIndex object.  Row creation
            in this table will fail if the chosen index value does
            not match the current value returned from the
            extremeNextAvailableVirtIfIndex object."
        INDEX { extremeVlanEncapsIfIndex }
    ::= { extremeVlanEncapsIfTable 1 }

    ExtremeVlanEncapsIfEntry ::=
        SEQUENCE {
            extremeVlanEncapsIfIndex
                Integer32,
            extremeVlanEncapsIfType
                ExtremeVlanEncapsType,
            extremeVlanEncapsIfTag
                Integer32,
            extremeVlanEncapsIfStatus
                RowStatus
        }

    extremeVlanEncapsIfIndex OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS     read-create
        STATUS current
        DESCRIPTION
            "The index value of this row and the encapsulation
            interface's ifIndex in the ifTable.  The NMS obtains
            the index value used for creating a row in this table
            by reading the extremeNextAvailableVirtIfIndex object."
    ::= { extremeVlanEncapsIfEntry 1 }

    extremeVlanEncapsIfType OBJECT-TYPE
        SYNTAX    ExtremeVlanEncapsType
        MAX-ACCESS    read-create
        STATUS    current
        DESCRIPTION
            "The encapsulation algorithm used when encapsulating
            packets transmitted, or de-encapsulating packets
            received through this interface."
    ::= {extremeVlanEncapsIfEntry 2}

    extremeVlanEncapsIfTag OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The tag used when encapsulating packets transmitted,
            or de-encapsulating packets received through this
            interface."
    ::= { extremeVlanEncapsIfEntry 3 }

    extremeVlanEncapsIfStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The row status for this VLAN encapsulation interface. 

            This OBJECT can be set to:

                active(1)
                createAndGo(4)
                createAndWait(5)
                destroy(6)

            The following values may be read:
                active(1)
                notReady(3).
            
            In order for a row to become active, the NMS must set
            extremeVlanEncapsIfTagType and extremeVlanEncapsIfTag
            to some valid and consistent values.  

            Setting this object to createAndGo(4) causes the agent
            to attempt to create and commit the row based on the
            contents of the objects in the row. If all necessary
            information is present in the row, the agent will
            create the row and change the status to active(1).  If
            any of the necessary objects are not available, or
            specify an invalid configuration, the row will not be
            created and the agent will return an appropriate error.

            Setting this object to createAndWait(5) causes a row in
            in this table to be created.  If all necessary objects
            in the row have been assigned values and specify a
            valid configuration, the status of the row will be set
            to notInService(2); otherwise, the status will be set
            to notReady(3).  

            This object may only be set to createAndGo(4) or
            createAndWait(5) if it does not exist.

            Setting this object to active(1) when the status is
            notInService(2) causes the agent to commit the
            row.  Setting this object to active(1) when its value
            is already active(1) is a no-op.

            Setting this object to destroy(6) will remove the
            corresponding VLAN encapsulation interface, remove the
            entry in this table, and remove the corresponding entry
            in the ifTable.

            In order for a set of this object to destroy(6) to
            succeed, all dependencies on this row must have been
            removed.  These will include any references to this
            interface in the ifStackTable."
    ::= { extremeVlanEncapsIfEntry 4 }

    --
    -- The extremeNextAvailableVirtIfIndex
    --

    extremeNextAvailableVirtIfIndex OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
            "The value of the next available virtual ifIndex.  This
             object is used by an NMS to select an index value 
             for row-creation in tables indexed by ifIndex.  The 
             current value of this object is changed to a new
             value when the current value is written to an agent's
             table, that is indexed by ifIndex.  Row creation
             using the current value of this object, allocates
             a virtual ifIndex.  Note the following:
            
             1. A newly created row does not have to be active(1)
                for the agent to allocate the virtual ifIndex.

             2. Race conditions between multiple NMS's end when
                a row is created.  Rows are deemed created when
                a setRequest is successfully committed (i.e.
                the errorStats is noError(0)).

            3.  An agent that exhausts its supply of virual
                ifIndex values returns zero as the value of this
                object. This can be used by an NMS as an indication
                to deleted unused rows and reboot the device."
    ::= { extremeVirtualGroup 1 }         


    --
    --  The IP VLAN Interface Information Table
    --
    --  The IP VLAN Interface Information table is supported by 
    --  network devices that support IP VLAN interfaces. 
    --
    --  A row must be created in this table for each IP
    --  VLAN interface. The index used is the
    --  same index as that used to create the IP VLAN interface
    --  in the extremeVlanIfTable. 
    --    

    extremeVlanIpTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanIpEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A list of IP VLAN interface information
            entries.  Entries in this table are related
            to entries in the extremeVlanIfTable by using the
            same index."
    ::= { extremeVlanIpGroup 1 }

    extremeVlanIpEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanIpEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A extremeVlanIpEntry contains layer 3
            information about a particular IP VLAN
            interface."
        INDEX    { extremeVlanIfIndex }
    ::= { extremeVlanIpTable 1 }

    ExtremeVlanIpEntry ::=
        SEQUENCE {
            extremeVlanIpNetAddress
                IpAddress,
            extremeVlanIpNetMask
                IpAddress,
            extremeVlanIpStatus
                RowStatus,    
            extremeVlanIpForwardingState
                TruthValue
        }

    extremeVlanIpNetAddress OBJECT-TYPE
        SYNTAX  IpAddress 
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The IP network number for the IP VLAN interface defined
            in the extremeVlanIfTable identified with the same index."
    ::= { extremeVlanIpEntry 1 }

    extremeVlanIpNetMask OBJECT-TYPE
        SYNTAX  IpAddress 
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The IP network mask corresponding to the IP Network
            address defined by extremeVlanIpIpNetAddress.  "
    ::= { extremeVlanIpEntry 2 }

    extremeVlanIpStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The status column for this IP VLAN entry.
            This object can be set to:
                active(1)
                createAndGo(4)
                destroy(6)

            The following values may be read:
                active(1)

            Setting this object to active(1) or createAndGo(4) causes 
            the agent to attempt to create and commit the row based on 
            the contents of the objects in the row.  If all necessary
            information is present in the row and the values are
            acceptible to the agent, the agent will change the 
            status to active(1).  If any of the necessary objects  
            are not available, the agent will reject the row 
            creation request.

            Setting this object to createAndWait(5) is not supported.

            When the status changes to active(1), the agent applies the
            IP parmeters to the IP VLAN interface identified by the
            corresponding value of the extremeVlanIpIndex object.

            Setting this object to destroy(6) will remove the IP
            parmeters from the IP VLAN interface and remove the
            entry from this table."
    ::= { extremeVlanIpEntry 3 }

    extremeVlanIpForwardingState OBJECT-TYPE
        SYNTAX  TruthValue 
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "Indicates whether the IP Forwarding  on this Vlan is
            Enable or not. A true value indicates that the Vlan is
            Enable."
    ::= { extremeVlanIpEntry 4 }

    -- 
    -- Protocol Definition Table
    --
    -- we choose to define our own table as existing tables are 
    -- overcomplex (RMON Protocol MIB, etc.)
    --
    extremeVlanProtocolTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanProtocolEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Table of defined combinations of protocol IDs 
            that make up one protocol definition name. 
            All members of one protocol definition share 
            the same extremeVlanProtocolIndex. A given 
            protocol ID may appear in the definition of 
            just one protocol definition. This table will
            typically contain some default entries for
            popular protocols chosen by ExtremeWare."
    ::= { extremeProtocolGroup 1 }

    extremeVlanProtocolEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanProtocolEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "One member protocol ID of a protocol definition."
        INDEX { extremeVlanProtocolIndex, 
                extremeVlanProtocolIdIndex }

    ::= { extremeVlanProtocolTable 1 }

    ExtremeVlanProtocolEntry ::= SEQUENCE {
        extremeVlanProtocolIndex            INTEGER,
        extremeVlanProtocolIdIndex          INTEGER,
        extremeVlanProtocolName             DisplayString,
        extremeVlanProtocolDllEncapsType    INTEGER,
        extremeVlanProtocolId               INTEGER,
        extremeVlanProtocolStatus           RowStatus,
        extremeVlanProtocolDestAddress      MacAddress,
        extremeVlanProtocolDestAddressValid TruthValue,
        extremeVlanProtocolUserFieldOffset  Integer32,
        extremeVlanProtocolUserFieldValue   OCTET STRING,
        extremeVlanProtocolUserFieldMask    OCTET STRING
    }
        
    extremeVlanProtocolIndex OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "An index representing a protocol grouping of
            protocol ID values. A limited number of
            protocol groupings may be defined (up to 7 
            in ExtremeWare and 16 in EXOS). 0 is used  
            for internal purposes."
    ::= { extremeVlanProtocolEntry 1 }

    extremeVlanProtocolIdIndex OBJECT-TYPE
        SYNTAX INTEGER (0..16)
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "An index representing a particular protocol ID
            within a protocol grouping. A limited number of
            protocol IDs may be defined per 
            extremeVlanProtocolIndex (up to 6 in ExtremeWare
            and 16 in EXOS). 0 is used for internal purposes."
    ::= { extremeVlanProtocolEntry 2 }

    extremeVlanProtocolName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(1..32))
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "A human-readable string representing this protocol.
            This string should be the same for all entries
            sharing a given extremeVlanProtocolIndex. 
            A ExtremeVlanProtocolEntry with 
            extremeVlanProtocolName of ANY represents a match 
            on all protocols: this entry may not be modified."
    ::= { extremeVlanProtocolEntry 3 }

    extremeVlanProtocolDllEncapsType OBJECT-TYPE 
        SYNTAX  INTEGER { any(1), ethertype(2), 
                          llc(3), llcSnapEthertype(4), none(5) }
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "Represents the type of data-link encapsulation 
            in which the extremeVlanProtocolId protocol ID 
            is carried. The value any(1) is used to indicate 
            a wildcard and matches all encapsulations and 
            protocol IDs that are not explicitly mentioned 
            in this table. Entries of type any(1) may not 
            be created. The value none(5) is used to indicate 
            that no protocol IDs match this entry. A value
            of none(5) may not be set by a manager."
    ::= { extremeVlanProtocolEntry 4 }

    extremeVlanProtocolId OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The protocol ID: for entries of type ethertype(2)
            or llcSnapEthertype(4) this represents a 16-bit
            protocol ID. For entries of type llc(3) it 
            represents a concatenation of LLC DSAP+SSAP in
            network byte order. This value is not valid
            for extremeVlanProtocolDllEncapsType values of
            any(1) or none(5)."
    ::= { extremeVlanProtocolEntry 5 }

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

    extremeVlanProtocolDestAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The destination MAC Address of the protocol. If the protocol
             does not have a defined destination MAC address, then
             extremeVlanProtocolDestAddressValid must be set to false."
        DEFVAL      { '000000000000'H }
        ::= { extremeVlanProtocolEntry 7 }

    extremeVlanProtocolDestAddressValid OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates whether the protocol defines a destination MAC address
             or not. If the protocol defines a destination MAC address, this
             field should be set to true and
             extremeVlanProtocolDestAddressValid must be set to the
             destination MAC address for the protocol."
        DEFVAL      { false }
        ::= { extremeVlanProtocolEntry 8 }

    extremeVlanProtocolUserFieldOffset OBJECT-TYPE
        SYNTAX     Integer32 (0..65535)
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The offset of the user defined field, from the start of the PDU."
        DEFVAL     { 0 }
        ::= { extremeVlanProtocolEntry 9 }

    extremeVlanProtocolUserFieldValue OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE(0..16))
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The value of the user defined field. If the protocol does not use
             user defined fields, this object must be set to zero length."
        DEFVAL     { ''H }
        ::= { extremeVlanProtocolEntry 10 }

    extremeVlanProtocolUserFieldMask OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE(0..16))
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The mask for the user defined field. The length of this object
             must be the same as that of extremeVlanProtocolUserFieldValue."
        ::= { extremeVlanProtocolEntry 11 }

    --
    -- Protocol-based VLAN Table (extremeware)
    --
    extremeVlanProtocolVlanTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanProtocolVlanEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Table to apply one of the protocol definitions 
            in extremeVlanProtocolTable to a given VLAN 
            This applies to all ports that are untagged 
            in this VLAN). A limited number of protocols
            may be applied simultaneously in one device
            (up to 8 in ExtremeWare)."
    ::= { extremeProtocolGroup 2 }

    extremeVlanProtocolVlanEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanProtocolVlanEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A mapping of untagged packets of one protocol 
            onto a particular VLAN."
        INDEX { extremeVlanProtocolVlanIfIndex, 
                extremeVlanProtocolVlanProtocolIndex }
    ::= { extremeVlanProtocolVlanTable 1 }

    ExtremeVlanProtocolVlanEntry ::= SEQUENCE {
        extremeVlanProtocolVlanIfIndex Integer32,
        extremeVlanProtocolVlanProtocolIndex Integer32,
        extremeVlanProtocolVlanStatus         RowStatus
    }

    extremeVlanProtocolVlanIfIndex OBJECT-TYPE
                --SYNTAX INTEGER (extremeware)
                SYNTAX Integer32
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The index value of this row and the vlan's ifIndex in the
            ifTable. The NMS obtains the index value for this row by
            reading the extremeNextAvailableVirtIfIndex object."
    ::= { extremeVlanProtocolVlanEntry 1 }

    extremeVlanProtocolVlanProtocolIndex OBJECT-TYPE
                --SYNTAX INTEGER (extremeware)
                SYNTAX Integer32
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "An index representing a protocol grouping of
            protocol ID values. A limited number of
            protocol groupings may be defined (up to 7 
            in ExtremeWare)."
    ::= { extremeVlanProtocolVlanEntry 2 }


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


    --
    -- Protocol Definition Table (Deprecated, supporting walk only )
    -- This table will display only entries that do not define a destination
    -- address and do not define an user field
    --
    extremeVlanProtocolDefTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanProtocolDefEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
            "Table of defined combinations of protocols and
            DLLEncaps type. This table will
            typically contain some default entries for
            popular protocols chosen by ExtremeWare."
    ::= { extremeProtocolGroup 3 }

    extremeVlanProtocolDefEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanProtocolDefEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
            "One member representing combination of protocol and
            DLLEncaps Type."
        INDEX { extremeVlanProtocolDefName, 
                extremeVlanProtocolDefDllEncapsType,
                extremeVlanProtocolDefValue}
    ::= { extremeVlanProtocolDefTable 1 }

    ExtremeVlanProtocolDefEntry ::= SEQUENCE {
        extremeVlanProtocolDefName              DisplayString,
        extremeVlanProtocolDefDllEncapsType     INTEGER,
        extremeVlanProtocolDefValue             INTEGER,
        extremeVlanProtocolDefStatus            RowStatus
    }

    extremeVlanProtocolDefName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(1..32))
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
            "A human-readable string representing this protocol.
            A ExtremeVlanProtocolEntry with 
            extremeVlanProtocol2Name of ANY represents a match 
            on all protocols: this entry may not be modified."
    ::= { extremeVlanProtocolDefEntry 1 }

    extremeVlanProtocolDefDllEncapsType OBJECT-TYPE 
        SYNTAX  INTEGER { any(1), ethertype(2), 
                          llc(3), llcSnapEthertype(4), none(5) }
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
            "Represents the type of data-link encapsulation 
            in which the protocol designated by 
            extremeVlanProtocolDefName is carried. 
            The value any(1) is used to indicate 
            a wildcard and matches all encapsulations and 
            protocol IDs that are not explicitly mentioned 
            in this table. Entries of type any(1) may not 
            be created. The value none(5) is used to indicate 
            that no protocol IDs match this entry. A value
            of none(5) may not be set by a manager."
    ::= { extremeVlanProtocolDefEntry 2 }

    extremeVlanProtocolDefValue OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
            "The protocol ID: for entries of type ethertype(2)
            or llcSnapEthertype(4) this represents a 16-bit
            protocol ID. For entries of type llc(3) it 
            represents a concatenation of LLC DSAP+SSAP in
            network byte order. This value is not valid
            for extremeVlanProtocolDefDllEncapsType values of
            any(1) or none(5)."
    ::= { extremeVlanProtocolDefEntry 3 }

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

    --
    -- Protocol-based VLAN Table (EXOS,  supporting walk only )
    --
    extremeVlanProtocolBindingTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanProtocolBindingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Table to apply one of the protocol definitions 
            in extremeVlanProtocolDefTable to a given VLAN 
            This applies to all ports that are untagged 
            in this VLAN). A limited number of protocols
            may be applied simultaneously in one device
            (up to 8 in ExtremeWare)."
    ::= { extremeProtocolGroup 4 }

    extremeVlanProtocolBindingEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanProtocolBindingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A mapping of untagged packets of one protocol 
            onto a particular VLAN."
        INDEX { extremeVlanProtocolBindingIfIndex } 
    ::= { extremeVlanProtocolBindingTable 1 }

    ExtremeVlanProtocolBindingEntry ::= SEQUENCE {
        extremeVlanProtocolBindingIfIndex     Integer32,
        extremeVlanProtocolBindingName        DisplayString,
        extremeVlanProtocolBindingStatus      RowStatus
    }

    extremeVlanProtocolBindingIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
             "The index value of this row and the vlan's ifIndex in the
             ifTable. The NMS obtains the index value for this row by
             reading the extremeNextAvailableVirtIfIndex object."
    ::= { extremeVlanProtocolBindingEntry 1 }

    extremeVlanProtocolBindingName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..31))
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "A human-readable string representing this protocol.
            A ExtremeVlanProtocolBindingEntry with 
            extremeVlanProtocolBindingName of ANY represents a 
            match on all protocols: this entry may not be modified."
    ::= { extremeVlanProtocolBindingEntry 2 }

    extremeVlanProtocolBindingStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The row status variable, used according to
            row installation and removal conventions."
    ::= { extremeVlanProtocolBindingEntry 3 }
    --
    -- The Extreme Networks VLAN Opaque Table
    --
    -- This table is implemented by all Extreme Networks network devices  
    -- that support VLAN interfaces.
    --

    extremeVlanOpaqueTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanOpaqueEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists the ports associated with each VLAN interface."
    ::= { extremeVlanOpaqueGroup 1 }

    extremeVlanOpaqueEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanOpaqueEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This represents the tagged and untagged ports on each slot per vlan."
        INDEX { extremeVlanIfIndex, extremeSlotNumber }
    ::= { extremeVlanOpaqueTable 1 }

    ExtremeVlanOpaqueEntry ::=
        SEQUENCE {
            extremeVlanOpaqueTaggedPorts
            PortList,
            extremeVlanOpaqueUntaggedPorts
            PortList,
            extremeVlanOpaqueTranslatedPorts
            PortList
        }


    extremeVlanOpaqueTaggedPorts OBJECT-TYPE
        SYNTAX    PortList
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
            "Each bit in the octet string represents one port.
             A 1 means that the port is a tagged port in that vlan. 
            The bit value for a port is 0 otherwise."
    ::= { extremeVlanOpaqueEntry 1}

    extremeVlanOpaqueUntaggedPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "Each bit in the octet string represents one port.
             A 1 means that the port is an untagged port in that vlan. 
            The bit value for a port is 0 otherwise."
    ::= { extremeVlanOpaqueEntry 2 }

    extremeVlanOpaqueTranslatedPorts OBJECT-TYPE
        SYNTAX    PortList
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
            "Each bit in the octet string represents one port.
             A 1 means that the port is a translated port in that vlan. 
             Translated ports are also tagged ports.
             The bit value for a port is 0 otherwise."
    ::= { extremeVlanOpaqueEntry 3}

    --
    -- The Extreme Networks VLAN Opaque Control Table
    --
    -- This table is implemented by all Extreme Networks networks devices  
    -- on EXOS and that support VLAN interfaces. The table is  
    -- used to add/delete ports on a vlan. The table is transitional in nature 
    -- and SNMP read operations must not be performed on it. Use extremeVlanOpaqueTable
    -- for reading the port membership association with vlans
    --

   extremeVlanOpaqueControlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanOpaqueControlEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table is used to configure the ports associated with each VLAN 
             interface. The table is  used to add/delete ports on a vlan. The table is
             transitional in nature and SNMP read operations must not be performed on it. 
             Use extremeVlanOpaqueTable for reading the port membership association with vlans"
    ::= { extremeVlanOpaqueGroup 2 }

    extremeVlanOpaqueControlEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanOpaqueControlEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This represents a control table entry (command) to configure the tagged 
             and untagged ports on each slot per vlan.  The first index of the entry is 
             the ifIndex of the VLAN and second index is the slot number of the ports.

             When adding untagged ports to a VLAN, those ports maybe not be untagged ports
             for another VLAN (assuming both VLANs use the ANY protocol filter).  Such 
             ports must first be deleted from the other VLAN(s) or an error will occur.

             The operation will succeed or fail in its entirety, no partial results on some of the ports."
        INDEX { extremeVlanIfIndex, extremeSlotNumber }
    ::= { extremeVlanOpaqueControlTable 1 }

    ExtremeVlanOpaqueControlEntry ::=
        SEQUENCE {
            extremeVlanOpaqueControlPorts
            PortList,
            extremeVlanOpaqueControlOperation
            INTEGER,
                    extremeVlanOpaqueControlStatus 
            RowStatus
        }

    extremeVlanOpaqueControlPorts OBJECT-TYPE
        SYNTAX    PortList
        MAX-ACCESS    read-create
        STATUS    current
        DESCRIPTION
           "The octet string representing a list of ports in
            bitwise form."

    ::= { extremeVlanOpaqueControlEntry 1}

    extremeVlanOpaqueControlOperation OBJECT-TYPE
        SYNTAX INTEGER {
          addTagged(1),
          addUntagged(2),
          delete(3),
          addTranslated(4)
        }
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The operation code for this entry. 
               addTagged(1)   = Ports referred to in the extremeVlanOpaqueControlPorts 
                                variable are added as tagged ports to the VLAN indicated
                                by the index.  The ports belong to the slot number as 
                                indicated by the second index of the variable.

               addUntagged(2) = Ports referred to in the extremeVlanOpaqueControlPorts 
                                  variable are added as tagged ports to the VLAN indicated
                                  by the index.  The ports belong to the slot number as 
                                  indicated by the second index of the variable.

               delete(3)      = Ports referred to in the extremeVlanOpaqueControlPorts 
                                 variable are removed from the VLAN indicated by the index.
                                 The ports belong to the slot number as indicated by the
                                 second index of the variable.

               addTranslated(4) = Ports referred to in the extremeVlanOpaqueControlPorts 
                                  variable are added as tagged translated ports to the 
                                  VLAN indicated by the index.  The ports belong to the 
                                  slot number as indicated by the second index of the
                                  variable."

    ::= { extremeVlanOpaqueControlEntry 2 }
    
    extremeVlanOpaqueControlStatus OBJECT-TYPE
    SYNTAX        RowStatus                      
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "The status of this entry as per standard RowStatus
         conventions. Note however, that only the CreateAndGo 
         state is supported."
    ::= { extremeVlanOpaqueControlEntry 3 }

    --
    -- The Extreme Networks VLAN Stack Table
    --
    -- This table is essentially the ifStackTable without entries for any ports
    --

    extremeVlanStackTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVlanStackEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Represents those components of the ifStackTable that do not
            contain a Physical interface."
    ::= { extremeVlanStackGroup 1 }

    extremeVlanStackEntry OBJECT-TYPE
        SYNTAX  ExtremeVlanStackEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Each entry in this read-only table defines which interfaces are
            on top of which one. All information in the table is also
            contained in ifStackTable. The Physical interfaces in the 
            ifStackTable are not represented here."
        INDEX { extremeVlanStackHigherLayer, extremeVlanStackLowerLayer }
    ::= { extremeVlanStackTable 1 }

    ExtremeVlanStackEntry ::=
        SEQUENCE {
            extremeVlanStackHigherLayer
                Integer32,
            extremeVlanStackLowerLayer
                Integer32
        }


    extremeVlanStackHigherLayer OBJECT-TYPE
        SYNTAX    Integer32
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
            "The higher layer in the logical vlan hierarchy."
    ::= { extremeVlanStackEntry 1}

    extremeVlanStackLowerLayer OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The lower layer in the logical vlan hierarchy."
    ::= { extremeVlanStackEntry 2 }

    extremeVlanL2StatsTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ExtremeVlanL2StatsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This tables contains per-VLAN layer 2 statistics information."
    ::= { extremeVlanStatsGroup 1 }

    extremeVlanL2StatsEntry OBJECT-TYPE
        SYNTAX          ExtremeVlanL2StatsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            ""
        INDEX { extremeVlanIfIndex }
    ::= { extremeVlanL2StatsTable 1 }

    ExtremeVlanL2StatsEntry ::=
        SEQUENCE {
                    extremeVlanL2StatsIfDescr              DisplayString,
                    extremeVlanL2StatsPktsToCpu            Counter64,
                    extremeVlanL2StatsPktsLearnt           Counter64,
                    extremeVlanL2StatsIgmpCtrlPktsSnooped  Counter64,
                    extremeVlanL2StatsIgmpDataPktsSwitched Counter64
        }
        
    extremeVlanL2StatsIfDescr      OBJECT-TYPE
        SYNTAX                    DisplayString (SIZE(0..32))
        MAX-ACCESS              read-only
        STATUS                    current
        DESCRIPTION
            "This is a description(name) of the VLAN."
    ::= {extremeVlanL2StatsEntry 1}

    extremeVlanL2StatsPktsToCpu    OBJECT-TYPE
        SYNTAX                  Counter64
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
            "The total number of packets of this VLAN sent to the CPU."
    ::= { extremeVlanL2StatsEntry 2 }

    extremeVlanL2StatsPktsLearnt    OBJECT-TYPE
        SYNTAX                  Counter64
        MAX-ACCESS              read-only
        STATUS                  current
        DESCRIPTION
            "The total number of packets learnt on this VLAN."
    ::= { extremeVlanL2StatsEntry 3 }

    extremeVlanL2StatsIgmpCtrlPktsSnooped   OBJECT-TYPE
        SYNTAX                          Counter64
        MAX-ACCESS                      read-only
        STATUS                          current
        DESCRIPTION
            "The total number of IGMP control packets snooped on this VLAN."
    ::= { extremeVlanL2StatsEntry 4 }

    extremeVlanL2StatsIgmpDataPktsSwitched  OBJECT-TYPE
        SYNTAX                          Counter64
        MAX-ACCESS                      read-only
        STATUS                          current
        DESCRIPTION
            "The total number of IGMP data packets switched on this VLAN."
    ::= { extremeVlanL2StatsEntry 5 }

        extremeVlanAggregationTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF ExtremeVlanAggregationEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "This table contains the VLAN aggregation information."
                ::= { extremeVlanAggregationGroup 1 }

        extremeVlanAggregationEntry       OBJECT-TYPE
                SYNTAX      ExtremeVlanAggregationEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "Information about the individual VLAN aggregation entry."
                INDEX   { extremeVlanAggregationSuperVlanIfIndex, 
                          extremeVlanAggregationSubVlanIfIndex }
                ::= { extremeVlanAggregationTable 1 }

        ExtremeVlanAggregationEntry ::= SEQUENCE {
                extremeVlanAggregationSuperVlanIfIndex              Integer32,
                extremeVlanAggregationSubVlanIfIndex                Integer32,
                extremeVlanAggregationSubVlanStartIpNetAddress  IpAddress,
                extremeVlanAggregationSubVlanStartIpNetMask        IpAddress,
                extremeVlanAggregationSubVlanEndIpNetAddress        IpAddress,
                extremeVlanAggregationSubVlanEndIpNetMask        IpAddress,
                extremeVlanAggregationStatus                        RowStatus
        }
       
        extremeVlanAggregationSuperVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "The Super Vlan index for this entry."
                ::= { extremeVlanAggregationEntry 1 }

        extremeVlanAggregationSubVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "The Sub Vlan index for this entry."
                ::= { extremeVlanAggregationEntry 2 }

        extremeVlanAggregationSubVlanStartIpNetAddress    OBJECT-TYPE
                SYNTAX      IpAddress
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                "This represents the start network address of the IP range."
                ::= { extremeVlanAggregationEntry 3 }
       
        extremeVlanAggregationSubVlanStartIpNetMask    OBJECT-TYPE
                SYNTAX      IpAddress
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "This represents the start network address mask of the IP range"
                ::= { extremeVlanAggregationEntry 4 }
                                         
        extremeVlanAggregationSubVlanEndIpNetAddress    OBJECT-TYPE
                SYNTAX      IpAddress
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                "This represents the end network address of the IP range."
                ::= { extremeVlanAggregationEntry 5 }
               
        extremeVlanAggregationSubVlanEndIpNetMask    OBJECT-TYPE
                SYNTAX      IpAddress
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "This represents the end network address mask of the IP range."
                ::= { extremeVlanAggregationEntry 6 }                                         
        extremeVlanAggregationStatus                OBJECT-TYPE
               SYNTAX       RowStatus
               MAX-ACCESS   read-create
               STATUS            current
               DESCRIPTION
               "The status of this entry."
               ::= { extremeVlanAggregationEntry 7 }
        
        extremeVlanAggregationConfigTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF ExtremeVlanAggregationConfigEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "This table contains the sub VLAN proxy setting information."
                ::= { extremeVlanAggregationGroup 2 }
        
        extremeVlanAggregationConfigEntry       OBJECT-TYPE
                SYNTAX      ExtremeVlanAggregationConfigEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "Information about the individual VLAN aggregation entry."
                INDEX   { extremeVlanAggregationConfigSuperVlanIfIndex }
                ::= { extremeVlanAggregationConfigTable 1 }
        
        ExtremeVlanAggregationConfigEntry ::= SEQUENCE {
                extremeVlanAggregationConfigSuperVlanIfIndex         Integer32,
                extremeVlanAggregationConfigSubVlanProxyEnable        TruthValue
        }

        extremeVlanAggregationConfigSuperVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                "The Super Vlan index for this entry."
                ::= { extremeVlanAggregationConfigEntry 1 }

        extremeVlanAggregationConfigSubVlanProxyEnable    OBJECT-TYPE
                SYNTAX      TruthValue
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                "The boolean flag that prevents normal communication between sub vlans."
                ::= { extremeVlanAggregationConfigEntry 2 }
    

        extremeVlanTranslationTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF ExtremeVlanTranslationEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "This table contains the VLAN translation information."
                ::= { extremeVlanTranslationGroup 1 }

        extremeVlanTranslationEntry       OBJECT-TYPE
                SYNTAX      ExtremeVlanTranslationEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                "Information about the individual VLAN translation entry."
                INDEX   { extremeVlanTranslationSuperVlanIfIndex, 
                          extremeVlanTranslationMemberVlanIfIndex }
                ::= { extremeVlanTranslationTable 1 }

        ExtremeVlanTranslationEntry ::= SEQUENCE {
                  extremeVlanTranslationSuperVlanIfIndex             Integer32,
                  extremeVlanTranslationMemberVlanIfIndex        Integer32,
                  extremeVlanTranslationStatus                        RowStatus
        }
          
        extremeVlanTranslationSuperVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The Super Vlan index for this entry."
                ::= { extremeVlanTranslationEntry 1 }

        extremeVlanTranslationMemberVlanIfIndex    OBJECT-TYPE
                SYNTAX      Integer32
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION
                        "The member Vlan index for this entry."
                ::= { extremeVlanTranslationEntry 2 }
     
        extremeVlanTranslationStatus                OBJECT-TYPE
               SYNTAX                RowStatus
               MAX-ACCESS        read-create
               STATUS                current
               DESCRIPTION
                        "The status of this entry."
               ::= { extremeVlanTranslationEntry 3 }

       extremePortVlanStatsTable   OBJECT-TYPE
               SYNTAX      SEQUENCE OF ExtremePortVlanStatsEntry
               MAX-ACCESS      not-accessible
               STATUS  current
               DESCRIPTION
                   "Vlan statistics per port."
               ::= { extremeVlanStatsGroup 2 }

       extremePortVlanStatsEntry OBJECT-TYPE
               SYNTAX          ExtremePortVlanStatsEntry
               MAX-ACCESS      not-accessible
               STATUS          current
               DESCRIPTION
                   "Vlan port statistics Entry."
               INDEX { extremeStatsPortIfIndex, 
                       extremeStatsVlanNameIndex}
               ::= { extremePortVlanStatsTable 1 }

       ExtremePortVlanStatsEntry ::= SEQUENCE {
               extremeStatsPortIfIndex                            Integer32,
               extremeStatsVlanNameIndex                          DisplayString,
               extremePortVlanStatsCntrType                       Integer32,
               extremePortVlanUnicastReceivedPacketsCounter       Counter64,
               extremePortVlanMulticastReceivedPacketsCounter     Counter64,
               extremePortVlanBroadcastReceivedPacketsCounter     Counter64,
               extremePortVlanTotalReceivedBytesCounter           Counter64,
               extremePortVlanTotalReceivedFramesCounter          Counter64,
               extremePortVlanUnicastTransmittedPacketsCounter    Counter64,
               extremePortVlanMulticastTransmittedPacketsCounter  Counter64,
               extremePortVlanBroadcastTransmittedPacketsCounter  Counter64,
               extremePortVlanTotalTransmittedBytesCounter        Counter64,
               extremePortVlanTotalTransmittedFramesCounter       Counter64,
               extremePortConfigureVlanStatus                     RowStatus
       }

       extremeStatsPortIfIndex OBJECT-TYPE
               SYNTAX  Integer32
               MAX-ACCESS  read-only
               STATUS  current
               DESCRIPTION
                 "The index of this table."
               ::= { extremePortVlanStatsEntry 1 }

       extremeStatsVlanNameIndex OBJECT-TYPE
               SYNTAX  DisplayString (SIZE(0..32))
               MAX-ACCESS  read-only
               STATUS  current
               DESCRIPTION
                 "The index of this table."
               ::= { extremePortVlanStatsEntry 2 }

       extremePortVlanStatsCntrType OBJECT-TYPE
               SYNTAX  Integer32
               MAX-ACCESS  read-only
               STATUS  current
               DESCRIPTION
                 "The flag to decide what fields to display, basic
                  or extended. Currently, it is read-only and will
                  reflect whatever has been set for the switch
                  through the cli."
               ::= { extremePortVlanStatsEntry 3 }


       extremePortVlanUnicastReceivedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Unicast packets received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsEntry 4 }

       extremePortVlanMulticastReceivedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Multicast packets received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsEntry 5 }


       extremePortVlanBroadcastReceivedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Broadcast packets received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsEntry 6 }

       extremePortVlanTotalReceivedBytesCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The total number of bytes received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsEntry 7 }

       extremePortVlanTotalReceivedFramesCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The total number of frames received by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsEntry 8 }

       extremePortVlanUnicastTransmittedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Unicast packets transmitted by a
                  port for a particular VLAN."
               ::= { extremePortVlanStatsEntry 9 }

       extremePortVlanMulticastTransmittedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Multicast packets transmitted by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsEntry 10 }

       extremePortVlanBroadcastTransmittedPacketsCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The number of Broadcast packets transmitted by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsEntry 11 }

       extremePortVlanTotalTransmittedBytesCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The total number of bytes transmitted by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsEntry 12 }

       extremePortVlanTotalTransmittedFramesCounter  OBJECT-TYPE
               SYNTAX  Counter64
               MAX-ACCESS  read-only
               STATUS current
               DESCRIPTION
                 "The total number of frames transmitted by a port
                  for a particular VLAN."
               ::= { extremePortVlanStatsEntry 13 }

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

    --
    -- Private VLAN Table 
    --

       extremePvlanTable OBJECT-TYPE
               SYNTAX      SEQUENCE OF ExtremePvlanEntry
               MAX-ACCESS  not-accessible
               STATUS      current
               DESCRIPTION
                   "This table contains the Private VLAN information."
               ::= { extremePrivateVlan 1 }

       extremePvlanEntry       OBJECT-TYPE
              SYNTAX      ExtremePvlanEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "Information about the individual private VLAN entry."
              INDEX   { extremePvlanName }
              ::= { extremePvlanTable 1 }

       ExtremePvlanEntry ::= SEQUENCE {
                  extremePvlanName                     DisplayString,
                  extremePvlanVrName                   DisplayString,
                  extremePvlanNetworkVlanIfIndex       InterfaceIndexOrZero,
                  extremePvlanRowStatus                RowStatus
       }
          
       extremePvlanName    OBJECT-TYPE
             SYNTAX      DisplayString (SIZE(1..32))
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "PVLAN Name"
             ::= { extremePvlanEntry 1 }

       extremePvlanVrName  OBJECT-TYPE
             SYNTAX      DisplayString (SIZE(1..32))
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                 "VR Name for which PVLAN belongs."
             DEFVAL      { "VR-Default" }
             ::= { extremePvlanEntry 2 }

       extremePvlanNetworkVlanIfIndex    OBJECT-TYPE
             SYNTAX      InterfaceIndexOrZero
             MAX-ACCESS  read-create
             STATUS      current
             DESCRIPTION
                  "VLAN IfIndex of the PVLAN Network VLAN."
             DEFVAL      {0}
             ::= { extremePvlanEntry 3 }

       extremePvlanRowStatus   OBJECT-TYPE
             SYNTAX        RowStatus
             MAX-ACCESS    read-create
             STATUS        current
             DESCRIPTION
                 "Supported actions taken on this row entry.
                     active(1),
                     createAndGo(4),
                     destroy(6)"
             ::= { extremePvlanEntry 4 }

    --
    -- Private VLAN Subscriber Table
    --

        extremePvlanSubscriberTable OBJECT-TYPE
                SYNTAX      SEQUENCE OF ExtremePvlanSubscriberEntry
                MAX-ACCESS  not-accessible
                STATUS      current
                DESCRIPTION
                   "This table contains the Private VLAN Subscriber VLAN 
                    information.  Subscriber VLANs carry user data traffic.  
                    This data traffic is then aggregated and forwarded out 
                    of a single Private VLAN Network VLAN.  The Network VLAN may
                    or may not translate the Subscriber VLAN traffic tags into a 
                    single tag depending on the Network VLAN configuration.  
                    Subscriber VLANs can be Isolated or Non-Isolated.  Isolated 
                    Subscriber VLANs do not allow ports within the isolated 
                    Subscriber VLAN to communicate with each other. Communication 
                    is strictly with the Network VLAN ports."
                ::= { extremePrivateVlan 2 }

        extremePvlanSubscriberEntry OBJECT-TYPE
                SYNTAX ExtremePvlanSubscriberEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                    "This represents information about the individual private 
                     VLAN Subscriber entry."
                INDEX   { extremePvlanName, extremePvlanSubscriberVlanIfIndex }
                ::= { extremePvlanSubscriberTable 1 }

        ExtremePvlanSubscriberEntry ::= SEQUENCE {
                  extremePvlanSubscriberVlanIfIndex           InterfaceIndex,
                  extremePvlanSubscriberType                  INTEGER,
                  extremePvlanSubscriberLoopBackPortIfIndex   InterfaceIndexOrZero,
                  extremePvlanSubscriberRowStatus             RowStatus
        }

        extremePvlanSubscriberVlanIfIndex    OBJECT-TYPE
                SYNTAX      InterfaceIndex
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                    "VLAN IfIndex of Subscriber VLAN.  Subscriber VLANs are user 
                     facing VLANs. There can be many Subscriber VLANs associated 
                     with a private VLAN.  User traffic from Subscriber VLANs are 
                     aggregated and sent out the network ports of the Network VLAN. 
                     There can only be a single Network VLAN for each Private VLAN."
                ::= { extremePvlanSubscriberEntry 1 }

        extremePvlanSubscriberType  OBJECT-TYPE
                SYNTAX      INTEGER {
                  nonIsolated(1),
                  isolated(2)
                }
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                    "Ports belonging to isolated Subscriber VLANs may not communicate 
                     with other ports on the VLAN.  Those ports may only communicate 
                     with the network port.  Ports belonging to non-isolated Subscriber 
                     VLANs behave like normal VLAN ports and can communicate with all 
                     other ports of the Subscriber in addition to the network port.
                     This cannot be modified.  To change this value, user must delete
                     entry and re-create." 
                DEFVAL      {2}
                ::= { extremePvlanSubscriberEntry 2 }

        extremePvlanSubscriberLoopBackPortIfIndex    OBJECT-TYPE
                SYNTAX      InterfaceIndexOrZero
                MAX-ACCESS  read-create
                STATUS      current
                DESCRIPTION
                        "Loopback port for the Subscriber VLAN.  Some Subscriber VLAN 
                         configurations that have overlapping ports (ports assigned to 
                         both Subscriber VLANS) must have a dedicated loopback ports 
                         configured."
                DEFVAL      {0}
                ::= { extremePvlanSubscriberEntry 3 }

        extremePvlanSubscriberRowStatus          OBJECT-TYPE
               SYNTAX        RowStatus
               MAX-ACCESS    read-create
               STATUS        current
               DESCRIPTION
                 "Supported actions taken on this row entry.
                     active(1),
                     createAndGo(4),
                     destroy(6)"
               ::= { extremePvlanSubscriberEntry 4 }


END

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

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 "201705110000Z" -- May 11,2017
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO
                        "Postal:  Extreme Networks, Inc.
                                  6480 Via Del Oro
                                  San Jose, CA 95119 USA

                                  Phone:   +1 408 579-2800
                                  E-mail:  support@extremenetworks.com
                                  WWW:     http://www.extremenetworks.com"

                DESCRIPTION "Extreme network port objects"
                REVISION     "201705110000Z"
                DESCRIPTION
                     "Added a set of new objects for 64-bits counters in extremePortUtilizationExtnTable"
        ::= { 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, 
                extremePortLoadshare2MinActiveLinks Unsigned32 
    }

    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),
                                 l2Address (4),
                                 l3Address (5),
                                 l3l4Address(6),
                                 customAddress (7)
                                  }
                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 }

    extremePortLoadshare2MinActiveLinks OBJECT-TYPE
                SYNTAX    Unsigned32 (1..8)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                      "The minimum active links that must be up in order
                       for group to remain up."  
        ::= { extremePortLoadshare2Entry 5 }


----
-- 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,
                extremePortUtilizationAvgTxPkts64    Counter64,
                extremePortUtilizationAvgRxPkts64    Counter64,
                extremePortUtilizationPeakTxPkts64   Counter64,
                extremePortUtilizationPeakRxPkts64   Counter64,
                extremePortUtilizationAvgTxBytes64   Counter64,
                extremePortUtilizationAvgRxBytes64   Counter64,
                extremePortUtilizationPeakTxBytes64  Counter64,
                extremePortUtilizationPeakRxBytes64  Counter64
        }

        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 }

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

        extremePortUtilizationAvgRxPkts64  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The reported number of average packets in the receive direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 10 }

        extremePortUtilizationPeakTxPkts64 OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The reported number of peak packets in the transmit direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 11 }

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

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

        extremePortUtilizationAvgRxBytes64  OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The reported number of average bytes in the receive direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 14 }

        extremePortUtilizationPeakTxBytes64 OBJECT-TYPE
                SYNTAX  Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                   "The reported number of peak bytes in the transmit direction
                    per second."
                ::= {extremePortUtilizationExtnEntry 15 }

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


--
-- 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
            "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,
    extremePortMauRestrict DisplayString
    }

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 }

extremePortMauRestrict OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..100))
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
         "This object identifies the unsupported MAU restriction, if any."
    ::= {extremePortMauEntry 4 }

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

extremePortMauRestrictionTrap NOTIFICATION-TYPE
    OBJECTS { ifIndex,
              extremePortMauRestrict
             }
    STATUS      current
    DESCRIPTION "This trap is sent whenever a  restricted MAU is inserted or removed, or a port attached to a restricted Mau is enabled."
    ::= { extremePortMauTrapsPrefix 2 }

--
-- Per Port Congestion Stats Table
--

    extremePortCongestionStatsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortCongestionStatsEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists ports congestion information"
        ::= { extremePort 14 }

    extremePortCongestionStatsEntry OBJECT-TYPE
        SYNTAX  ExtremePortCongestionStatsEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Port related congestion information." 
        INDEX { ifIndex }
    ::= { extremePortCongestionStatsTable 1 }

    ExtremePortCongestionStatsEntry ::=
        SEQUENCE {
            extremePortCongDropPkts
                Counter64
        }

    extremePortCongDropPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of packets dropped due to congestion on this port"
    ::= { extremePortCongestionStatsEntry 1 }


--
-- Per Port QoS Congestion Stats Table
--

    extremePortQosCongestionStatsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortQosCongestionStatsEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists ports per QOS congestion information"
        ::= { extremePort 15 }

    extremePortQosCongestionStatsEntry OBJECT-TYPE
        SYNTAX  ExtremePortQosCongestionStatsEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Port related QOS congestion information." 
        INDEX { ifIndex }
    ::= { extremePortQosCongestionStatsTable 1 }

    ExtremePortQosCongestionStatsEntry ::=
        SEQUENCE {
            extremePortQP0CongPkts
                Counter64,
            extremePortQP1CongPkts
                Counter64,
            extremePortQP2CongPkts
                Counter64,
            extremePortQP3CongPkts
                Counter64,
            extremePortQP4CongPkts
                Counter64,
            extremePortQP5CongPkts
                Counter64,
            extremePortQP6CongPkts
                Counter64,
            extremePortQP7CongPkts
                Counter64
        }

    extremePortQP0CongPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 0 packets gets dropped due to congestion
             on this port"
    ::= { extremePortQosCongestionStatsEntry 1 }

    extremePortQP1CongPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 1 packets gets dropped due to congestion
             on this port"
    ::= { extremePortQosCongestionStatsEntry 2 }

    extremePortQP2CongPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 2 packets gets dropped due to congestion
             on this port"
    ::= { extremePortQosCongestionStatsEntry 3 }

    extremePortQP3CongPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 3 packets gets dropped due to congestion
             on this port"
    ::= { extremePortQosCongestionStatsEntry 4 }

    extremePortQP4CongPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 4 packets gets dropped due to congestion
             on this port"
    ::= { extremePortQosCongestionStatsEntry 5 }

    extremePortQP5CongPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 5 packets gets dropped due to congestion
             on this port"
    ::= { extremePortQosCongestionStatsEntry 6 }

    extremePortQP6CongPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 6 packets gets dropped due to congestion
             on this port"
    ::= { extremePortQosCongestionStatsEntry 7 }

    extremePortQP7CongPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "The number of QOS 7 packets gets dropped due to congestion
             on this port"
    ::= { extremePortQosCongestionStatsEntry 8 }

--
-- Per Port Rate Limit Exceeded Alarm Trap
--

    extremeRateLimitExceededAlarm NOTIFICATION-TYPE
             OBJECTS     { ifIndex }
             STATUS             current
             DESCRIPTION
                 "This Notification indicates the first time a poll of a Rate-Limited Port has a non-zero counter."
            ::= { extremePort 16 }

--
-- Per Port VLAN Info Table
--
    extremePortVlanInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremePortVlanInfoEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "This table lists port with VLAN information including MAC Learning Limit Status, Max Number of MAC Learning, and MAC Lockdown Status"
    ::= { extremePort 17 }


    extremePortVlanInfoEntry OBJECT-TYPE
        SYNTAX  ExtremePortVlanInfoEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
                      "Port entry indexed with VLAN for MAC Learning information and Lockdown Status "
        INDEX { ifIndex, extremeVlanIfIndex }
    ::= { extremePortVlanInfoTable 1 }

    ExtremePortVlanInfoEntry ::= SEQUENCE {
           extremePortVlanInfoDescr              DisplayString,
           extremePortVlanInfoLimitLearningEnabled   Integer32,
           extremePortVlanInfoLimitLearningNumber    Integer32,
           extremePortVlanInfoMacLockDownEnabled     Integer32
    }

   extremePortVlanInfoDescr OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(1..32))
        MAX-ACCESS     read-only
        STATUS current
        DESCRIPTION
            "VLAN Name defined over port"
    ::= { extremePortVlanInfoEntry 1 }

   extremePortVlanInfoLimitLearningEnabled OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS     read-write
        STATUS current
        DESCRIPTION
            "FDB Learning limit status. if it's enabled(1), switch limits the number of dynamically-learned MAC addresses per VLAN based on the extremePortVlanInfoLimitLearning Number. In case of disabled(0), switch allows to learn dynamic MAC addresses without limit."
        DEFVAL      { 0 }
    ::= { extremePortVlanInfoEntry 2 }

   extremePortVlanInfoLimitLearningNumber OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS     read-write
        STATUS current
        DESCRIPTION
            "Max Number of FDB Learning Limit. Specifies a limit on the number of MAC addresses that can be dynamically learned on the specific VLAN over port"
        DEFVAL      { 0 }
    ::= { extremePortVlanInfoEntry 3 }

   extremePortVlanInfoMacLockDownEnabled OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS     read-write
        STATUS current
        DESCRIPTION
            "MAC Lock Down Status.  If it's enabled(1), the current FDB entries is made performanent static, and no additional learning should be allowed. In case of disabled(0), port is unclocked to allow unlimiated and dynamic learning."
        DEFVAL      { 0 }
    ::= { extremePortVlanInfoEntry 4 }

END

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

EXTREME-FDB-MIB DEFINITIONS ::= BEGIN

      IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                IpAddress               FROM SNMPv2-SMI
                Counter64               FROM SNMPv2-SMI
                Integer32               FROM SNMPv2-SMI         
                DisplayString, MacAddress, RowStatus       FROM SNMPv2-TC
                extremeAgent, PortList      FROM EXTREME-BASE-MIB;


        extremeFdb MODULE-IDENTITY
                LAST-UPDATED "200903171234Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme FDB and IP FDB tables."
        ::= { extremeAgent 16 }

        extremeFdbMacFdbTable   OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeFdbMacFdbEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "A table that contains information about the hardware MAC
                         FDB table. Supported only for switches running on Extremeware."

                ::= { extremeFdb 1 }

        extremeFdbMacFdbEntry   OBJECT-TYPE
                SYNTAX  ExtremeFdbMacFdbEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An entry in the table of MAC FDB information."
                INDEX { extremeFdbMacFdbVlanIfIndex, extremeFdbMacFdbSequenceNumber }
                ::= {extremeFdbMacFdbTable 1}

        ExtremeFdbMacFdbEntry ::= SEQUENCE {
                 extremeFdbMacFdbVlanIfIndex     Integer32,     
                 extremeFdbMacFdbSequenceNumber  Integer32,
                 extremeFdbMacFdbMacAddress      MacAddress,
                 extremeFdbMacFdbPortIfIndex     Integer32,
                 extremeFdbMacFdbStatus          INTEGER
              }

          extremeFdbMacFdbVlanIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "The ifIndex of the Vlan on which this mac is learned."
              ::= { extremeFdbMacFdbEntry 1 }

        extremeFdbMacFdbSequenceNumber OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The sequence number of this FDB entry in the forwarding database."
                ::= { extremeFdbMacFdbEntry 2 }

          extremeFdbMacFdbMacAddress OBJECT-TYPE
              SYNTAX  MacAddress
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "A MAC address for which the bridge has
                      forwarding and/or filtering information."
              ::= { extremeFdbMacFdbEntry 3 }

          extremeFdbMacFdbPortIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Either the value '0', or the IfIndex of the
                      port on which a frame having a source address
                      equal to the value of the corresponding instance
                      of dot1dTpFdbAddress has been seen.  A value of
                      '0' indicates that the port IfIndex has not been
                      learned but that the bridge does have some
                      forwarding/filtering information about this
                      address (e.g. in the dot1dStaticTable)."
              ::= { extremeFdbMacFdbEntry 4 }

          extremeFdbMacFdbStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          learned(3),
                          self(4),
                          mgmt(5)
                      }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The status of this entry.  
                      This is the value of dot1dTpFdbStatus in RFC1493."
              ::= { extremeFdbMacFdbEntry 5 }


        extremeFdbIpFdbTable    OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeFdbIpFdbEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "A table that contains information about the hardware IP
                         FDB table."
                ::= { extremeFdb 2 }

        extremeFdbIpFdbEntry    OBJECT-TYPE
                SYNTAX  ExtremeFdbIpFdbEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "An entry in the table of IP FDB information."
                INDEX { extremeFdbIpFdbSequenceNumber }
                ::= {extremeFdbIpFdbTable 1}

        ExtremeFdbIpFdbEntry ::= SEQUENCE {
                  extremeFdbIpFdbSequenceNumber  Integer32,
                  extremeFdbIpFdbIPAddress       IpAddress,
                  extremeFdbIpFdbMacAddress      MacAddress,
                  extremeFdbIpFdbVlanIfIndex     Integer32,
                  extremeFdbIpFdbPortIfIndex     Integer32
              }


        extremeFdbIpFdbSequenceNumber OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "The sequence number of this entry in the IP FDB"
              ::= { extremeFdbIpFdbEntry 1 }

        extremeFdbIpFdbIPAddress OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The IP Address of the IP FDB entry"
                ::= { extremeFdbIpFdbEntry 2 }

          extremeFdbIpFdbMacAddress OBJECT-TYPE
              SYNTAX  MacAddress
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The MAC address corresponding to the IP Address."
              ::= { extremeFdbIpFdbEntry 3 }

        extremeFdbIpFdbVlanIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The ifIndex of the Vlan on which this ip is learned"
              ::= { extremeFdbIpFdbEntry 4 }

          extremeFdbIpFdbPortIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The IfIndex of the port on which this entry was learned"
              ::= { extremeFdbIpFdbEntry 5 }

          extremeFdbPermFdbTable        OBJECT-TYPE
                SYNTAX                  SEQUENCE OF ExtremeFdbPermFdbEntry
                MAX-ACCESS              not-accessible
                STATUS                  current
                DESCRIPTION
                "This table contains information on the secure-mac permanent FDB entries.
                It may later be extended to display other types of permanent FDB entries."

                ::= { extremeFdb 3 }
          
          extremeFdbPermFdbEntry        OBJECT-TYPE
                SYNTAX                  ExtremeFdbPermFdbEntry
                MAX-ACCESS              not-accessible
                STATUS                  current
                DESCRIPTION
                "An entry in the table of secure-mac permanent FDB information."

                INDEX { extremeFdbPermFdbFilterNum, 
                extremeFdbPermFdbMacAddress, extremeFdbPermFdbVlanId }
                ::= { extremeFdbPermFdbTable 1 }

          ExtremeFdbPermFdbEntry ::= SEQUENCE {
                extremeFdbPermFdbFilterNum      Integer32,
                extremeFdbPermFdbMacAddress     MacAddress,
                extremeFdbPermFdbVlanId         Integer32,
                extremeFdbPermFdbPortList       PortList,
                extremeFdbPermFdbFlags          BITS,
                extremeFdbPermFdbStatus         RowStatus
              }

        extremeFdbPermFdbFilterNum      OBJECT-TYPE
                SYNTAX                  Integer32
                MAX-ACCESS              read-only
                STATUS                  current
                DESCRIPTION
                      "This object always returns 1. In future, it may be used to 
                      provide additional capability."
                ::= { extremeFdbPermFdbEntry 1 }


        extremeFdbPermFdbMacAddress     OBJECT-TYPE
                SYNTAX                  MacAddress
                MAX-ACCESS              read-only
                STATUS                  current
                DESCRIPTION
                      "The is the MAC Address to which this FDB entry pertains."
                ::= { extremeFdbPermFdbEntry 2 }

        extremeFdbPermFdbVlanId         OBJECT-TYPE
              SYNTAX                    Integer32
              MAX-ACCESS                read-only
              STATUS                    current
              DESCRIPTION
                      "The VLAN ID of the VLAN to which this FDB entry pertains."
              ::= { extremeFdbPermFdbEntry 3 }

        extremeFdbPermFdbPortList       OBJECT-TYPE
              SYNTAX                    PortList
              MAX-ACCESS                read-create
              STATUS                    current
              DESCRIPTION
                      "This is the list of port(s) on which the given MAC Address is configured
                      Note that this port list is constructed assuming there are as many ports 
                      per slot as given in the object extremeChassisPortsPerSlot. 
                      Thus, if extremeChassisPortsPerSlot is 128, then the 129th bit in the port 
                      list (reading left to right) indicates port 2:1. Similarly, the 256th bit 
                      would indicate port 2:128 while the 257th bit would indicate port 3:1. Note 
                      especially that the bit positions in port list do not depend on the actual 
                      physical presence or absence of the given ports on the blade or of any 
                      blade itself."
                      
              ::= { extremeFdbPermFdbEntry 4 }


       extremeFdbPermFdbFlags           OBJECT-TYPE
            SYNTAX  BITS {
                        isSecure(0)
                 }                
                        
           MAX-ACCESS                   read-create
           STATUS                       current
           DESCRIPTION 
                "This object contains the flags associated with the FDB entry. The flags 
                are similar to those displayed on the device Command Line Interface. 
                At present, only the isSecure bit i.e. bit 0 will be supported and it will 
                always be ON since only secure-mac entries are configurable and displayed 
                in this table."
            ::= { extremeFdbPermFdbEntry 5 }

       extremeFdbPermFdbStatus          OBJECT-TYPE
              SYNTAX                    RowStatus                      
              MAX-ACCESS                read-create
              STATUS                    current
              DESCRIPTION
                      "The status of this entry as per standard RowStatus conventions. 
                      Note however, that createAndWait and notInService states are not 
                      supported."

              ::= { extremeFdbPermFdbEntry 6 }

    extremeFdbMacExosFdbTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeFdbMacExosFdbEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains information about the hardware MAC
             FDB table. Supported only for switches running on EXOS."

        ::= { extremeFdb 4 }

    extremeFdbMacExosFdbEntry  OBJECT-TYPE
        SYNTAX  ExtremeFdbMacExosFdbEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "An entry in the table of MAC FDB information."
        INDEX { extremeFdbMacExosFdbMacAddress, extremeFdbMacExosFdbVlanIfIndex }
        ::= {extremeFdbMacExosFdbTable 1}

    ExtremeFdbMacExosFdbEntry ::= SEQUENCE {
                 extremeFdbMacExosFdbMacAddress     MacAddress,
                 extremeFdbMacExosFdbVlanIfIndex    Integer32,
                 extremeFdbMacExosFdbPortIfIndex    Integer32,
                 extremeFdbMacExosFdbStatus         INTEGER
              }

          extremeFdbMacExosFdbMacAddress OBJECT-TYPE
              SYNTAX  MacAddress
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "A MAC address for which the bridge has
                      forwarding and/or filtering information."
              ::= { extremeFdbMacExosFdbEntry 1 }

          extremeFdbMacExosFdbVlanIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS read-only 
              STATUS  current
              DESCRIPTION
                      "The ifIndex of the Vlan on which this mac is learned."
              ::= { extremeFdbMacExosFdbEntry 2 }

          extremeFdbMacExosFdbPortIfIndex OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Either the value '0', or the IfIndex of the
                      port on which a frame having a source address
                      equal to the value of the corresponding instance
                      of dot1dTpFdbAddress has been seen.  A value of
                      '0' indicates that the port IfIndex has not been
                      learned but that the bridge does have some
                      forwarding/filtering information about this
                      address (e.g. in the dot1dStaticTable)."
              ::= { extremeFdbMacExosFdbEntry 3 }

          extremeFdbMacExosFdbStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          learned(3),
                          self(4),
                          mgmt(5)
                      }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The status of this entry.  
                      This is the value of dot1dTpFdbStatus in RFC1493."
              ::= { extremeFdbMacExosFdbEntry 4 }

        extremeFdbMacFdbCounterTable    OBJECT-TYPE
              SYNTAX    SEQUENCE OF ExtremeFdbMacFdbCounterEntry
              MAX-ACCESS  not-accessible
              STATUS current
              DESCRIPTION
            "A table that contains change counters for the Operational FDB and ARP.
                       Each entry in the table corresponds to an individual port.  Whenever
                       a change occurs to the operational FDB (MAC learned, aged out or
                       removed) or in the IP ARP table (learned, aged out or removed) , the
                       counter associated with the port is incremented by one.

                       The counters are reset at agent startup and when the port is down.
                       They are not cleared when the port is enabled or disabled."

              ::= { extremeFdb 5 }

        extremeFdbMacFdbCounterEntry    OBJECT-TYPE
              SYNTAX    ExtremeFdbMacFdbCounterEntry
              MAX-ACCESS    not-accessible
              STATUS    current
              DESCRIPTION
                   "An entry in the table of MAC FDB change counters."
              INDEX { extremeFdbMacFdbCounterPortIfIndex }
              ::= {extremeFdbMacFdbCounterTable 1}

        ExtremeFdbMacFdbCounterEntry ::= SEQUENCE {
              extremeFdbMacFdbCounterPortIfIndex     Integer32,
              extremeFdbMacFdbCounterValue           Counter64
        }

        extremeFdbMacFdbCounterPortIfIndex OBJECT-TYPE
              SYNTAX                     Integer32 
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "The ifIndex of the Port for which the counte applies."
              ::= { extremeFdbMacFdbCounterEntry 1 }

        extremeFdbMacFdbCounterValue OBJECT-TYPE
              SYNTAX  Counter64
              MAX-ACCESS read-only 
              STATUS  current
              DESCRIPTION
                      "The count of the number of FDB changes for the given port
                       since the counter was last reset."
              ::= { extremeFdbMacFdbCounterEntry 2 }
    

    -- MAC address tracking trap definition
    --
    extremeMacTrackingTraps OBJECT IDENTIFIER
        ::= { extremeFdb 6 }

    extremeMacTrackingTrapsPrefix     OBJECT IDENTIFIER
        ::= { extremeMacTrackingTraps 0 }

    extremeMacTrackingMacAddress  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "The MAC Address being tracked."
        ::= { extremeMacTrackingTraps 1 }

    extremeMacTrackingPortIfIndex  OBJECT-TYPE
        SYNTAX       Integer32 
        MAX-ACCESS   accessible-for-notify
        STATUS       current
        DESCRIPTION "The ifIndex of the port on which the MAC address was
                     added/moved to, or deleted from."
        ::= { extremeMacTrackingTraps 2 }

    extremeMacTrackingPrevPortIfIndex  OBJECT-TYPE
        SYNTAX       Integer32 
        MAX-ACCESS   accessible-for-notify
        STATUS       current
        DESCRIPTION "The ifIndex of the port the MAC address was moved from."
        ::= { extremeMacTrackingTraps 3 }

    extremeMacTrackingVlanIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "The ifIndex of the VLAN on which the MAC address was received."
        ::= { extremeMacTrackingTraps 4 }

    extremeMACTrackingAdd NOTIFICATION-TYPE
        OBJECTS     { extremeMacTrackingMacAddress,
                      extremeMacTrackingVlanIfIndex,
                      extremeMacTrackingPortIfIndex }
        STATUS      current
        DESCRIPTION "The specified MAC address was added to the FDB on the 
                     mentioned port and VLAN."
        ::= { extremeMacTrackingTrapsPrefix 1 }

    extremeMACTrackingDel NOTIFICATION-TYPE
        OBJECTS     { extremeMacTrackingMacAddress,
                      extremeMacTrackingVlanIfIndex,
                      extremeMacTrackingPortIfIndex }
        STATUS      current
        DESCRIPTION "The specified MAC address was deleted from the FDB on the
                     mentioned port and VLAN."
            ::= { extremeMacTrackingTrapsPrefix 2 }

    extremeMACTrackingMove NOTIFICATION-TYPE
        OBJECTS     { extremeMacTrackingMacAddress,
                      extremeMacTrackingVlanIfIndex,
                      extremeMacTrackingPrevPortIfIndex,
                      extremeMacTrackingPortIfIndex }
       STATUS      current
       DESCRIPTION "The specified MAC address was moved from the previous port 
                    to the new port on the specified VLAN."
       ::= { extremeMacTrackingTrapsPrefix 3 }
END

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

ENTERASYS-MAC-LOCKING-MIB DEFINITIONS ::= BEGIN

--  enterasys-mac-locking-mib.txt
--
--  Part Number: <TBD>
--
--

--  This module provides authoritative definitions for Extreme
--  Networks' MAC Locking MIB.

--
--  This module will be extended, as needed.

--  Extreme Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Extreme Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Extreme Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Extreme
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Extreme Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Extreme Networks products.

--  Copyright July, (2002-2014) Extreme Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Unsigned32
        FROM SNMPv2-SMI
    MacAddress, RowStatus, TruthValue
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    InterfaceIndex
        FROM IF-MIB
    EnabledStatus
        FROM P-BRIDGE-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES;

etsysMACLockingMIB MODULE-IDENTITY
    LAST-UPDATED "201407071331Z"  -- Mon Jul  7 13:31 UTC 2014
    ORGANIZATION "Extreme Networks, Inc."
    CONTACT-INFO
        "Postal:  Extreme Networks, Inc.
                  145 Rio Robles
                  San Jose, CA 95134 USA

         Phone:   +1 408 579-2800
         E-mail:  support@extremenetworks.com
         WWW:     http://www.extremenetworks.com"

    DESCRIPTION
        "This MIB module defines the portion of the SNMP enterprise
         MIBs under Enterasys Networks' enterprise OID pertaining to
         MAC Locking.

         This MIB is designed to provide configuration and status
         objects pertaining to per port MAC Locking."
    
    REVISION "201407071331Z"  -- Mon Jul  7 13:31 UTC 2014
    DESCRIPTION
        "Modified DESCRIPTION clause of etsysMACLockingThresholdShutdown 
         to reflect correct behavior of disabling the port when the
         threshold has been exceeded."

    REVISION "201406021121Z"  -- Mon Jun  2 11:21 UTC 2014
    DESCRIPTION
        "Changed the default value of etsysMACLockingShutdownState (of 
         type TruthValue) from disabled to false.  Updated the 
         CONTACT-INFO clause with new corporate information and added 
         a new MODULE-COMPLIANCE statement."

    REVISION "201108031825Z"  -- Wed Aug  3 18:25 UTC 2011
    DESCRIPTION
        "Added the etsysMACLockingClearOnLink object."

    REVISION "201106081238Z"  -- Wed Jun  8 12:38 UTC 2011
    DESCRIPTION
        "Added the etsMACLockingThresholdShutdown and
         etsysMACLockingShutdownState leaves to facilitate the
         shutdown of bridge ports when the MAC address table
         threshold (etsysMACLockingFirstArrivialStationsAllocated)
         has been exceeded."

    REVISION "201103081947Z"  -- March 08, 2011,  7:47PM UTC
    DESCRIPTION
        "Added the etsysMACLockingThresholdEnable leaf and
         etsysMACLockingMACThresholdNotification notification so that an
         administrator can take appropriate action upon the MAC address
         table threshold (etsysMACLockingFirstArrivalStationsAllocated)
         being reached."

    REVISION "200705211304Z"  -- Mon May 21 13:04 UTC 2007
    DESCRIPTION
        "Added the etsysMACLockingViolationSyslogEnable leaf
         to control the sending of syslog messages for violating 
         MAC addresses."

    REVISION "200705171255Z"  -- Thu May 17 12:55 UTC 2007
    DESCRIPTION
        "Clarify that only static MAC lock entries that are in the
         active(1) state, should be represented in the 
         etsysMACLockingStationTable."
    
    REVISION "200705091924Z"  -- Wed May  9 19:24 UTC 2007
    DESCRIPTION
        "Added the etsysMACLockingRemoveStation object to allow for the 
         removal of any current locked MAC address.

         Added the agingFirstArrival enumeration to represent first 
         arrival entries that are aging."
    
    REVISION "200704161526Z"  -- Mon Apr 16 15:26 UTC 2007
    DESCRIPTION
        "Added the etsysMACLockingFirstArrivalAging object to control the 
         aging of first arrival entries on a per-port basis."

    REVISION "200307301545Z"  -- Wed Jul 30 15:45 GMT 2003
    DESCRIPTION
        "Updated the description clause for the 
         etsysMACLockingMoveFirstArrivalToStatic object."

    REVISION "200301172114Z"  -- Fri Jan 17 21:14 GMT 2003
    DESCRIPTION
        "Added objects to support the transition of dynamically
         locked MAC addresses to statically locked addresses."

    REVISION "200208052030Z"  -- Mon Aug  5 20:30 GMT 2002
    DESCRIPTION
        "Added more descriptive text and corrected two range
         issues in the description of the allocated objects."

    REVISION "200208011445Z"  -- Thu Aug  1 14:45 GMT 2002
    DESCRIPTION
        "The initial version of this MIB module."

    ::= { etsysModules 21 }


etsysMACLockingObjects
        OBJECT IDENTIFIER ::= { etsysMACLockingMIB 1 }

-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- Branches of the Enterasys MAC Locking MIB
-- -------------------------------------------------------------

etsysMACLockingSystemBranch
        OBJECT IDENTIFIER ::= { etsysMACLockingObjects 1 }

etsysMACLockingPortConfigBranch
        OBJECT IDENTIFIER ::= { etsysMACLockingObjects 2 }

etsysMACLockingStaticStationBranch
        OBJECT IDENTIFIER ::= { etsysMACLockingObjects 3 }

etsysMACLockingStationBranch
        OBJECT IDENTIFIER ::= { etsysMACLockingObjects 4 }

etsysMACLockingTrapBranch
        OBJECT IDENTIFIER ::= { etsysMACLockingObjects 0 }

-- -------------------------------------------------------------
-- MAC Locking System Branch
-- -------------------------------------------------------------

etsysMACLockingSystemEnable  OBJECT-TYPE
    SYNTAX        EnabledStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This object is a configuration convenience.
         While disabled(2), all per port configuration is
         ignored, but changeable. When set to enabled(1),
         the per port configuration becomes active."
    DEFVAL { disabled }
    ::= { etsysMACLockingSystemBranch 1 }


-- -------------------------------------------------------------
-- The Port Based Configuration MAC Locking Table
-- -------------------------------------------------------------

etsysMACLockingPortTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF EtsysMACLockingPortEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "A table that provides for the configuration
         of MAC Locking for each port. Regardless of
         the value of etsysMACLockingSystemEnable,
         this table is automatically populated with
         one row per supported port.  
         MAC Locking is not supported on media types 
         whose addresses cannot be adequately 
         represented by the MacAddress convention"
    ::= { etsysMACLockingPortConfigBranch 1 }

etsysMACLockingPortEntry OBJECT-TYPE
    SYNTAX        EtsysMACLockingPortEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "Each conceptual row allows control over whether MAC
         locking is enabled for the port corresponding to the
         row. Similarly, each row provides control over whether
         violation traps are sent. Information in this table
         is persistent."
    INDEX { etsysMACLockingPort }
    ::= { etsysMACLockingPortTable 1 }

EtsysMACLockingPortEntry::=
    SEQUENCE {
     etsysMACLockingPort                            InterfaceIndex,
     etsysMACLockingEnable                          EnabledStatus,
     etsysMACLockingViolationEnable                 EnabledStatus,
     etsysMACLockingLastViolationAddress            MacAddress,
     etsysMACLockingFirstArrivalStationsAllowed     Unsigned32,
     etsysMACLockingFirstArrivalStationsAllocated   Unsigned32,
     etsysMACLockingStaticStationsAllowed           Unsigned32,
     etsysMACLockingStaticStationsAllocated         Unsigned32,
     etsysMACLockingMoveFirstArrivalToStatic        TruthValue, 
     etsysMACLockingStaticStationsCount             Unsigned32,
     etsysMACLockingClearStaticStations             TruthValue,
     etsysMACLockingFirstArrivalAging               TruthValue,
     etsysMACLockingViolationSyslogEnable           EnabledStatus,
     etsysMACLockingThresholdEnable                 EnabledStatus,
     etsysMACLockingThresholdSyslogEnable           EnabledStatus,
     etsysMACLockingThresholdShutdown               EnabledStatus,
     etsysMACLockingShutdownState                   TruthValue,
     etsysMACLockingClearOnLink                     TruthValue
    }

etsysMACLockingPort OBJECT-TYPE
    SYNTAX        InterfaceIndex
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "The interface number for this row."
    ::= { etsysMACLockingPortEntry 1 }

etsysMACLockingEnable  OBJECT-TYPE
    SYNTAX        EnabledStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to enabled(1) any static entries currently created
         on this port become active and the first n MACs which are
         received on this port are locked, where n is equal to
         etsysMACLockingFirstArrivalStationsAllocated.

         When set to disabled(2), all entries in the 
         etsysMACLockingStationTable are cleared, and 
         the port forwards without regard to MAC locking."
    DEFVAL { disabled }
    ::= { etsysMACLockingPortEntry 2 }

etsysMACLockingViolationEnable OBJECT-TYPE
    SYNTAX        EnabledStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to enabled(1), the agent issues violation traps
         for violations detected by the agent.

         Arrival of violation traps at the management station is not
         guaranteed and the trap generation rate is not required to
         match the violation detection rate. A best effort delivery is
         acceptable.

         When disabled(2), no traps are sent."
    DEFVAL { disabled }
    ::= { etsysMACLockingPortEntry 3 }

etsysMACLockingLastViolationAddress OBJECT-TYPE
    SYNTAX        MacAddress
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The last source MAC received on this port which was a
         violation. A violation is defined to be when the maximum
         number of firstArrival entries exists for this port in the
         etsysMACLockingStationTable and the source MAC address of
         the received packet differs from all entries found for this
         port in the etsysMACLockingStationTable."
    ::= { etsysMACLockingPortEntry 4 }

etsysMACLockingFirstArrivalStationsAllowed OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The agent sets this number for the benefit of management
         to use when determining the permissible range of values
         for the etsysMACLockingFirstArrivalStationsAllocated object.
         The default value of this object is device dependent."
    ::= { etsysMACLockingPortEntry 5 }

etsysMACLockingFirstArrivalStationsAllocated OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Management sets this number in the range of 0 to
         etsysMACLockingFirstArrivalStationsAllowed. This number
         limits the number of locked MACs on this port using the
         first arrival method. The default value of this object
         SHOULD be the same as the default value of
         etsysMACLockingFirstArrivalStationsAllowed."
    ::= { etsysMACLockingPortEntry 6 }

etsysMACLockingStaticStationsAllowed OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The agent sets this number for the benefit of management
         to use when determining the permissible range of values
         for the etsysMACLockingStaticStationsAllocated object.
         The default value of this object is device dependent."
    ::= { etsysMACLockingPortEntry 7 }

etsysMACLockingStaticStationsAllocated OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Management sets this number in the range of 0 to
         etsysMACLockingStaticStationsAllowed. This limits
         the number of statically provisioned, locked MACs on
         this port. The default value of this object SHOULD
         be the same as the default value of
         etsysMACLockingStaticStationsAllowed."
    ::= { etsysMACLockingPortEntry 8 }

etsysMACLockingMoveFirstArrivalToStatic OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to true(1), moves First Arrival MACs locked on
         the port, in lexicographical order, into Statically Locked 
         MACs on the port. The move continues until all First 
         Arrival MACs are moved or until the number of allowable 
         static entries (etsysMACLockingStaticStationsAllocated) 
         has been exhausted.  If there is an insufficient number 
         Static entries available to accommodate all the First 
         Arrival MACs, then only the First Arrival MACs already 
         moved to statically locked MACs will be static entries, 
         the remaining First Arrival MACs will remain as First
         Arrival entries and a MIB_ERROR is returned. When read this 
         object will always return false(2)."
    ::= { etsysMACLockingPortEntry 9 }

etsysMACLockingStaticStationsCount OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Returns the number of Statically Locked MACs currently 
         locked on the port."
    ::= { etsysMACLockingPortEntry 10 }

etsysMACLockingClearStaticStations OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to true(1), clears out all the Statically 
         Locked MACs on this port.  When read this object will
         always return false(2)."
    ::= { etsysMACLockingPortEntry 11 }
    
etsysMACLockingFirstArrivalAging OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to true(1), firstArrival MACs that have aged
         out of the forwarding database will be removed for the
         associated port lock."
    ::= { etsysMACLockingPortEntry 12 }

etsysMACLockingViolationSyslogEnable OBJECT-TYPE
    SYNTAX        EnabledStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to enabled(1), the agent issues syslog messages
         for violations detected by the agent.

         Arrival of violation syslog messages at the management 
         station is not guaranteed and the messages generation rate is 
         not required to match the violation detection rate. A best 
         effort delivery is acceptable.  When disabled(2), no syslog
         messages are sent as a result of MAC locking violations."
    DEFVAL { disabled }
    ::= { etsysMACLockingPortEntry 13 }

etsysMACLockingThresholdEnable OBJECT-TYPE
    SYNTAX        EnabledStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to enabled(1), the agent issues a trap when the MAC 
         address threshold as defined in the 
         etsysMACLockingFirstArrivalStationsAllocated object has been 
         reached.
         
         Arrival of these traps at the management station is not 
         guaranteed and the trap generation rate is not required to 
         match the detection rate. A best effort delivery is acceptable.

         When disabled(2), no traps are sent as a result of the
         threshold being reached."
    DEFVAL { disabled }
    ::= { etsysMACLockingPortEntry 14 }

etsysMACLockingThresholdSyslogEnable OBJECT-TYPE
    SYNTAX        EnabledStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to enabled(1), the agent issues a syslog message 
         when the MAC address threshold as defined in the 
         etsysMACLockingFirstArrivalStationsAllocated object has been 
         reached.
         
         Arrival of these messages is not guaranteed and the message 
         generation rate is not required to match the detection rate. 
         A best effort delivery is acceptable.

         When disabled(2), no messages are sent as a result of the
         threshold being reached."
    DEFVAL { disabled }
    ::= { etsysMACLockingPortEntry 15 }

etsysMACLockingThresholdShutdown OBJECT-TYPE
    SYNTAX        EnabledStatus
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to enabled(1), the agent attempts to disable the
         port when the MAC address threshold as defined in the
         etsysMACLockingFirstArrivalStationsAllocated object has been
         exceeded.

         When set to disabled(2), the agent will not attempt to disable
         the port."
    DEFVAL { disabled }
    ::= { etsysMACLockingPortEntry 16 }

etsysMACLockingShutdownState OBJECT-TYPE
    SYNTAX        TruthValue 
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When read as true(1), this value indicates that the port 
         has been disabled due to a threshold being exceeded.

         When read as false(2), this value indicates that the port
         has not been disabled due to a threshold being exceeded.

         Setting this leaf with a value of false(2) will clear 
         the port disabled state.

         Setting this leaf with a value of true(1) will be ignored."
    DEFVAL { false }
    ::= { etsysMACLockingPortEntry 17 }

etsysMACLockingClearOnLink OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "When set to true(1), firstArrival MACs SHOULD be removed 
         from the associated port on a link state change."
    DEFVAL { true }
    ::= { etsysMACLockingPortEntry 18 }


-- -------------------------------------------------------------
-- The Station Based Static MAC Locking Table
-- -------------------------------------------------------------

etsysMACLockingStaticStationTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF EtsysMACLockingStaticStationEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table lists all statically locked MAC addresses for
         each port. When MAC locking is enabled on a
         port, all active rows in this table will appear in
         the etsysMACLockingStationTable with the object
         etsysMACLockingLockedEntryCause set to static(2).
         Rows in this table are persistent between resets."
    ::= { etsysMACLockingStaticStationBranch 1 }

etsysMACLockingStaticStationEntry OBJECT-TYPE
    SYNTAX        EtsysMACLockingStaticStationEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "Each conceptual row contains a user specified
         locked MAC address."
    INDEX { etsysMACLockingPort, etsysMACLockingLockedAddress }
    ::= { etsysMACLockingStaticStationTable 1 }

EtsysMACLockingStaticStationEntry::=
    SEQUENCE {
     etsysMACLockingLockedAddress           MacAddress,
     etsysMACLockingStaticEntryRowStatus    RowStatus
    }

etsysMACLockingLockedAddress OBJECT-TYPE
    SYNTAX        MacAddress
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "The MAC that has been locked to this port."
    ::= { etsysMACLockingStaticStationEntry 1 }

etsysMACLockingStaticEntryRowStatus OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
       "The status column has six defined values:

       - 'active', which indicates that a row shall
       also exist or be created in etsysMACLockingStationTable
       with the same index and the object
       etsysMACLockingLockedEntryCause in that row
       shall be static(1);

       - 'notInService', which indicates the existence or causes
       the creation of a row in this table. However, no
       corresponding row shall exist or be created in
       etsysMACLockingStationTable;

       - 'notReady', will never be read in any row of
       this table since existence is the only
       requirement for this tables rows;

       - 'createAndGo', which causes a new row to be
       created in both this table and in the
       etsysMACLockingStationTable with the same index
       and the object etsysMACLockingLockedEntryCause
       shall have the value static(1);

       - 'createAndWait', which causes a new row to be
       created in this table. However, no corresponding row
       shall be created in etsysMACLockingStationTable;
       and,

       - 'destroy', which causes the agent to remove
       this tables row along with the corresponding
       row in etsysMACLockingStationTable."
    ::= { etsysMACLockingStaticStationEntry 2 }


-- -------------------------------------------------------------
-- The Station Based MAC Locking Table
-- -------------------------------------------------------------

etsysMACLockingStationTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF EtsysMACLockingStationEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table lists any locked MAC address for each
         port along with their entry types. On each port in
         the system, MACs can be locked. For each MAC locked
         to a port, a row appears in this table.

         When MAC locking is enabled on a port, the first
         n packets received by the port has its source MAC
         locked to the port and the locked cause displays
         firstArrival(2) The value n is equal to the
         etsysMACLockingFirstArrivalStationsAllocated object.

         Additionally, management may explicitly lock a MAC to
         a port by using the etsysMACLockingStationStaticTable.
         For each entry in the static table that is active(1), 
         a corresponding entry appears in this table with its
         etsysMACLockingLockedEntryCause object set to static(1)."
    ::= { etsysMACLockingStationBranch 1 }

etsysMACLockingStationEntry OBJECT-TYPE
    SYNTAX        EtsysMACLockingStationEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "Each conceptual row contains a locked cause which
         describes how the MAC was locked on the port.
         If etsysMACLockingSystemEnable is disabled(2), then
         this table will be empty. This table contains entries
         for those ports which have MAC locking enabled and
         have locked MACs."
    INDEX { etsysMACLockingPort, etsysMACLockingLockedAddress }
    ::= { etsysMACLockingStationTable 1 }

EtsysMACLockingStationEntry::=
    SEQUENCE {
     etsysMACLockingLockedEntryCause INTEGER,
     etsysMACLockingRemoveStation    TruthValue
    }

etsysMACLockingLockedEntryCause OBJECT-TYPE
    SYNTAX       INTEGER {
                   static(1),
                   firstArrival(2),
                   agingFirstArrival(3)
                   }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "When management statically provisions a MAC onto this
         port, then this object is returns static(1).  If
         this MAC was dynamically locked, then this object returns
         firstArrival(2).  If first arrival aging is enabled
         on the port and the MAC address is dynamically locked, then 
         this object returns agingFirstArrival(3)."
    ::= { etsysMACLockingStationEntry 1 }

etsysMACLockingRemoveStation OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When this is object is set to true(1) the MAC
         address specified by the indexing will be removed from 
         etsysMACLockingStationTable.  If the 
         etsysMACLockingLockedEntryCause leaf for this table entry 
         is of type static(1), then the associated entry will also be
         removed from the etsysMACLockingStaticStationTable.
         A set to false(2) will have no effect.  This object will 
         always return false(2)."
    DEFVAL      { false }
    ::= { etsysMACLockingStationEntry 2 }

-- -------------------------------------------------------------
-- MAC Locking Trap Branch
-- -------------------------------------------------------------

etsysMACLockingMACViolation NOTIFICATION-TYPE
    OBJECTS { etsysMACLockingLastViolationAddress }
    STATUS  current
    DESCRIPTION
        "If MAC Locking is globally enabled and specifically
         enabled for this port, then this trap is sent when
         a packet is received with a source MAC that differs
         from all the currently locked MACs for the port
         specified in this instance of the notification."
    ::= { etsysMACLockingTrapBranch 1 }

etsysMACLockingMACThreshold NOTIFICATION-TYPE
    OBJECTS { etsysMACLockingFirstArrivalStationsAllocated } 
    STATUS current
    DESCRIPTION
        "MAC database threshold notification.  The device will send this
         notification when the MAC address threshold configured in the
         etsysMACLockingFirstArrivalStationsAllocated object has been
         reached so that the administrator can take appropriate action."
    ::= { etsysMACLockingTrapBranch 2 }

-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysMACLockingConformance
        OBJECT IDENTIFIER ::= { etsysMACLockingMIB 2 }

etsysMACLockingGroups
        OBJECT IDENTIFIER ::= { etsysMACLockingConformance 1 }

etsysMACLockingCompliances
        OBJECT IDENTIFIER ::= { etsysMACLockingConformance 2 }

-- -------------------------------------------------------------
-- Units of Conformance
-- -------------------------------------------------------------

etsysMACLockingSystemGroup OBJECT-GROUP
    OBJECTS { etsysMACLockingSystemEnable }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing global configuration
         for the MAC Locking feature."
    ::= { etsysMACLockingGroups 1 }

etsysMACLockingPortGroup OBJECT-GROUP
    OBJECTS {
        etsysMACLockingEnable,
        etsysMACLockingViolationEnable,
        etsysMACLockingLastViolationAddress,
        etsysMACLockingFirstArrivalStationsAllowed,
        etsysMACLockingFirstArrivalStationsAllocated,
        etsysMACLockingStaticStationsAllowed,
        etsysMACLockingStaticStationsAllocated,
        etsysMACLockingMoveFirstArrivalToStatic,
        etsysMACLockingStaticStationsCount,
        etsysMACLockingClearStaticStations
       }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing port based
         configuration and status of MAC Locking."
    ::= { etsysMACLockingGroups 2 }

etsysMACLockingStationGroup OBJECT-GROUP
    OBJECTS { etsysMACLockingLockedEntryCause }
    STATUS  deprecated
    DESCRIPTION
        "********* THIS GROUP IS DEPRECATED **********

         A list of currently locked MACs."
    ::= { etsysMACLockingGroups 3 }

etsysMACLockingStaticStationGroup OBJECT-GROUP
    OBJECTS { etsysMACLockingStaticEntryRowStatus }
    STATUS  current
    DESCRIPTION
        "A list of statically provisioned locked MACs.
         This group is mandatory if static MAC locking
         is supported, otherwise it is optional."
    ::= { etsysMACLockingGroups 4 }
                           
etsysMACLockingPortFirstArrivalGroup OBJECT-GROUP
    OBJECTS { etsysMACLockingFirstArrivalAging }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing port based
         configuration of firstArrival MAC Locking."
    ::= { etsysMACLockingGroups 5 }

etsysMACLockingStationGroup2 OBJECT-GROUP
    OBJECTS { 
        etsysMACLockingLockedEntryCause,
        etsysMACLockingRemoveStation 
            }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing status and configuration of
         all currently locked MAC addresses."
    ::= { etsysMACLockingGroups 6 }

etsysMACLockingNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
                    etsysMACLockingMACViolation,
                    etsysMACLockingMACThreshold
                  }
    STATUS        current
    DESCRIPTION
        "The MAC Locking notifications."
    ::= { etsysMACLockingGroups 7 }

etsysMACLockingPortMessageGroup OBJECT-GROUP
    OBJECTS {
                etsysMACLockingViolationSyslogEnable,
                etsysMACLockingThresholdEnable,
                etsysMACLockingThresholdSyslogEnable
            }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing port based
         configuration and status for MAC Locking syslog 
         messages and notifications."
    ::= { etsysMACLockingGroups 8 }

etsysMACLockingShutdownGroup OBJECT-GROUP
    OBJECTS {
                etsysMACLockingThresholdShutdown,
                etsysMACLockingShutdownState
            }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing port based
         configuration and status for MAC Locking port shutdown."
    ::= { etsysMACLockingGroups 9 }

etsysMACLockingLinkGroup OBJECT-GROUP
    OBJECTS { etsysMACLockingClearOnLink }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing port based
         configuration of MAC Locking behavior based link state 
         changes."
    ::= { etsysMACLockingGroups 10 }

-- -------------------------------------------------------------
-- Compliance Statements
-- -------------------------------------------------------------

etsysMACLockingCompliance MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "******** THIS COMPLIANCE IS DEPRECATED ********

         The compliance statement for devices that support MAC
         Locking."
    MODULE
        MANDATORY-GROUPS
            {
                etsysMACLockingSystemGroup,
                etsysMACLockingPortGroup,
                etsysMACLockingStationGroup
            }
    ::= { etsysMACLockingCompliances 1 }

etsysMACLockingPortFirstArrivalCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for all devices that support 
         aging first arrival mac lock entries on a per port basis."

    MODULE
        GROUP   etsysMACLockingPortFirstArrivalGroup
        DESCRIPTION
           "This group is mandatory for all devices that support
            aging first arrival mac lock entries on a per port basis."
    ::= { etsysMACLockingCompliances 2 }

etsysMACLockingCompliance2 MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for devices that support MAC
         Locking."
    MODULE
        MANDATORY-GROUPS
            {
                etsysMACLockingSystemGroup,
                etsysMACLockingPortGroup,
                etsysMACLockingStationGroup2
            }
    ::= { etsysMACLockingCompliances 3 }

etsysMACLockingNotificationCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for all devices that support
         notifications and syslog messages for MAC Locking events."
    MODULE
        MANDATORY-GROUPS
            {
                etsysMACLockingNotificationGroup,
                etsysMACLockingPortMessageGroup
            }
    ::= { etsysMACLockingCompliances 4 }

etsysMACLockingShutdownCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The compliance statement for all devices that support
         port shutdown for MAC Locking events."
    MODULE
        MANDATORY-GROUPS
            {
                etsysMACLockingShutdownGroup
            }
    ::= { etsysMACLockingCompliances 5 }

etsysMACLockingLinkCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The compliance statement for all devices that support
         per port MAC locking behaviors based on the link state of 
         the port."
    MODULE
        MANDATORY-GROUPS
            {
                etsysMACLockingLinkGroup
            }
    ::= { etsysMACLockingCompliances 6 }

etsysMACLockingStaticStationCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for all devices that support
         static mac lock entries on a per port basis."

    MODULE
        GROUP   etsysMACLockingStaticStationGroup
        DESCRIPTION
           "This group is mandatory for all devices that support
            static mac lock entries on a per port basis."
    ::= { etsysMACLockingCompliances 7 }

END

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

EXTREME-VM-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
		OBJECT-TYPE             FROM SNMPv2-SMI
		DisplayString           FROM SNMPv2-TC
                TimeStamp               FROM SNMPv2-TC
                MacAddress              FROM SNMPv2-TC
                TEXTUAL-CONVENTION      FROM SNMPv2-TC
                RowStatus               FROM SNMPv2-TC
                TruthValue              FROM SNMPv2-TC
                NOTIFICATION-TYPE       FROM SNMPv2-SMI
                Integer32               FROM SNMPv2-SMI
                Gauge32                 FROM SNMPv2-SMI
                extremeAgent            FROM EXTREME-BASE-MIB
                InetAddressType, InetAddress FROM INET-ADDRESS-MIB;

        extremeVM MODULE-IDENTITY
                LAST-UPDATED "201504080000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION 
                             "Extreme Network Virtual Machine Management MIB"

                REVISION     "201504070000Z"
                DESCRIPTION
                             "Updated description of extremeVMVPPName field."

                REVISION     "201403140000Z"
                DESCRIPTION
                             "obsolete extremeVMFTPPolicyDir
                             obsolete extremeVMVPP2PolicyTable
                             obsolete extremeVMMappingIngressVPPName
                             obsolete extremeVMMappingEgressVPPName
                             obsolete extremeVMDetectedIngrssVPPName
                             obsolete extremeVMDetectedEgressVPPName"

                REVISION     "201104180000Z"
                DESCRIPTION 
                             "Additions to allow for VPP containers.
                             Add extremeVMDetailTable
                             Add extremeVMPortConfigTable
                             deprecate extremeVMVPP2PolicyTable
                             deprecate extremeVMMappingIngressVPPName
                             deprecate extremeVMMappingEgressVPPName
                             deprecate extremeVMDetectedIngrssVPPName
                             deprecate extremeVMDetectedEgressVPPName
                             Add varbinds to extremeVMDetectResult notification
                             extremeVMDetectedOperStatus
                             extremeVMDetectedIngErrPolicies
                             extremeVMDetectedEgrErrPolicies,
                             extremeVMDetectedVPPResult,
                             extremeVMDetectedVPPName
                             Add varbind to extremeVMMapped
                             extremeVMMappingVPPName
                             Add varbind to extremeVMUnMapped
                             extremeVMMappingVPPName
                             removed DEFVAL from extremeVMFTPPathName
                             Added new enumeration for extremeVMMappingStatus"

                REVISION     "201002030000Z"
                DESCRIPTION 
                             "Initial Revision"

        ::= { extremeAgent 39 }


        extremeVMGeneral                 OBJECT IDENTIFIER ::= { extremeVM 1 }
        extremeVMVPP                     OBJECT IDENTIFIER ::= { extremeVM 2 }
        extremeVMDetected                OBJECT IDENTIFIER ::= { extremeVM 3 }
        extremeVMNotificationObjects     OBJECT IDENTIFIER ::= { extremeVM 4 }
        extremeVMNotifications           OBJECT IDENTIFIER ::= { extremeVM 5 }


        VMVPPSynchType ::=   TEXTUAL-CONVENTION
                STATUS          current
                DESCRIPTION
                        "The type of policy synchronization. 
                         global -- all network policies are synchronized
                         specific -- a single network policy is synchronized"
                SYNTAX          INTEGER {
                                  global(1),
                                  specific(2)
                                }

        CounterDirection ::=   TEXTUAL-CONVENTION
                STATUS          current
                DESCRIPTION
                        "This direction in which the dynamic ACL counter neesd to be installed.
                        ingress-only - counter for only ingress direction
                        egress-only  - counter for only egress direction
                        both - counter for both ingress/egress direction
                        none - counter not needed for either direction."
                SYNTAX	        INTEGER {
                                  none(0),
                                  ingress-only(1),
                                  egress-only(2),
                                  both(3)
                                }

        extremeVMFTPServerTable	OBJECT-TYPE
                SYNTAX          SEQUENCE OF ExtremeVMFTPServerEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                        "The FTP servers defined for this switch"
                ::= { extremeVMGeneral 1 }

        extremeVMFTPServerEntry OBJECT-TYPE
                SYNTAX          ExtremeVMFTPServerEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                        "The FTP server entry for this switch"
                INDEX { extremeVMFTPServerType }
                ::= { extremeVMFTPServerTable 1 }

        ExtremeVMFTPServerEntry ::= SEQUENCE {
		        extremeVMFTPServerType          INTEGER,
		        extremeVMFTPAddrType            INTEGER,
		        extremeVMFTPServer              InetAddress,
                extremeVMFTPSynchInterval       INTEGER,
                extremeVMFTPRowStatus           RowStatus,
                extremeVMFTPPathName            DisplayString,
                extremeVMFTPUsername            DisplayString,
                extremeVMFTPPassword            DisplayString
	    }

        extremeVMFTPServerType  OBJECT-TYPE
                SYNTAX          INTEGER {
                                   primary(1),
                                   backup(2)
                                }     
                MAX-ACCESS      accessible-for-notify
                STATUS	        current
                DESCRIPTION
                        "The type of the FTP server.  The backup server is contacted if the primary fails to respond."
                ::= { extremeVMFTPServerEntry 1 }

        extremeVMFTPAddrType    OBJECT-TYPE
                SYNTAX          InetAddressType     
                MAX-ACCESS 	read-write
                STATUS	        current
                DESCRIPTION
                        "The IP type of IP address."
                ::= { extremeVMFTPServerEntry 2 }

        extremeVMFTPServer      OBJECT-TYPE
                SYNTAX          InetAddress     
                MAX-ACCESS 	read-create
                STATUS	        current
                DESCRIPTION
                        "The IP Address of the FTP server used for transferring various management files."
                ::= { extremeVMFTPServerEntry 3 }

       extremeVMFTPSynchInterval  OBJECT-TYPE
                SYNTAX          INTEGER (0..3600)
                UNITS           "seconds"
                MAX-ACCESS 	read-create
                STATUS	        current
                DESCRIPTION
                        "The time in minutes between automatic synchronization attempts.  
                         A value of 0 indicates that automatic synchronizations are not performed.  
                         Note that each switch will not perform a synchronization at exactly 
                         the time configured, but will vary the synchronization interval between 3/4 and 5/4 of the 
                         configured interval.  
                         This will avoid the situation where all switches in a network attempt a 
                         synchronizationat exactly the same moment.

                         Other than value of 0 value of 40-3600 can be
                         configured as interval.

                         Automatic synchronization is disabled by default, and requests to enable 
                         them are rejected until the FTP
                         server information (IP or IPv6 Address, Username, and Password) is configured."
                ::= { extremeVMFTPServerEntry 4 }                                     

       extremeVMFTPRowStatus  OBJECT-TYPE
                SYNTAX          RowStatus
                MAX-ACCESS 	read-create
                STATUS	        current
                DESCRIPTION
                        "There can only be two entries in this table, on each for primary and secondary FTP servers" 
                ::= { extremeVMFTPServerEntry 5 }                                     

       extremeVMFTPPathName    OBJECT-TYPE
                SYNTAX         DisplayString (SIZE(1..32))
                MAX-ACCESS 	read-write
                STATUS	        current
                DESCRIPTION
                        "The FTP server directory name for the policies to be synchronized.  
                         A value of '/pub' will be used by default for anonymous users and 
                         value of '/' will be used for other users"
                ::= { extremeVMFTPServerEntry 6 }

        extremeVMFTPUsername     OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(0..32))     
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                        "A valid username on the FTP server."
                ::= { extremeVMFTPServerEntry 7 }

        extremeVMFTPPassword     OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(0..32))      
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                        "The Password associated with the FTP user.  
                         This object will return a zero length string when queried"
                ::= { extremeVMFTPServerEntry 8 }
 

       extremeVMFTPPolicyDir    OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(1..32))     
                MAX-ACCESS 	read-write
                STATUS	        obsolete
                DESCRIPTION
                        "The server directory name for the policies to be synchronized.  
                         A value of '/' will be used by default"
                ::= { extremeVMGeneral 2 }

        extremeVMLastSynch      OBJECT-TYPE
                SYNTAX          TimeStamp      
                MAX-ACCESS 	read-only
                STATUS	        current
                DESCRIPTION
                        "The timestamp of the most recent synchronization attempt"
                ::= { extremeVMGeneral 3 }

        extremeVMLastSynchStatus OBJECT-TYPE
                SYNTAX          INTEGER {
                                  success(1),           
                                  accessDenied(2),
                                  serverTimeout(3),
				                  serverNotConfigured(4)
                                }                                         
                MAX-ACCESS 	read-only
                STATUS	        current
                DESCRIPTION
                        "The result of the most recent synchronization attempt.
                         success(1) - indicates that the synchronization completed successfully
                         accessDenied(2) - The username and password were not accepted by the server
                         serverTimeout(3) - Could not establish a file transfer session with the configured server
			             serverNotConfigured(4) - The server configuration is not complete"
                ::= { extremeVMGeneral 4 }

        extremeVMSynchAdminState   OBJECT-TYPE
                SYNTAX          INTEGER {
                                  idle(1),
                                  synchronizeNow(2)
                                }                                         
                MAX-ACCESS 	read-write
                STATUS	        current
                DESCRIPTION
                        "Triggers a synchronization cycle on demand.   A synchronization will automatically 
                         download new or updated policies as well as delete policies to match those on the server.

                         idle(1) is returned whenever this object is read.
                         synchronizeNow(2) triggers an immediate synchronization, and will be reflected in
                         extremeVMSynchOperState.

                         Attempts to set this variable to synchronizeNow(2) will be rejected if a synchronization is 
                         currently in progress."
                ::= { extremeVMGeneral 5 }

        extremeVMSynchOperState     OBJECT-TYPE
                SYNTAX          INTEGER {
                                   idle(1),
                                   synchronizing(2)
                                }                                         
                MAX-ACCESS 	read-only
                STATUS	        current
                DESCRIPTION
                        "Indicates if a synchronization is in progress, either on-demand or automatic"
                ::= { extremeVMGeneral 6 }

        extremeVMTrackingEnabled     OBJECT-TYPE
                SYNTAX          TruthValue
                MAX-ACCESS  read-write
                STATUS          current
                DESCRIPTION
                        "The VM tracking feature is disabled by default, and can be enabled using this object."
                ::= { extremeVMGeneral 7 }

        extremeVMPortConfigTable     OBJECT-TYPE
                SYNTAX          SEQUENCE OF ExtremeVMPortConfigEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                        "Configures the VM features on each port."
                ::= { extremeVMGeneral 8 }

        extremeVMPortConfigEntry     OBJECT-TYPE
            SYNTAX  ExtremeVMPortConfigEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                "An entry in the table for VM features on each port."
            INDEX { extremeVMPortConfigIfIndex }
            ::= { extremeVMPortConfigTable 1 }

            ExtremeVMPortConfigEntry ::= SEQUENCE {
                extremeVMPortConfigIfIndex             Integer32,
                extremeVMPortConfigVMTrackingEnabled   TruthValue,
                extremeVMPortConfigVMTrackingDynVlanEnabled   TruthValue
            }

        extremeVMPortConfigIfIndex  OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      accessible-for-notify
                STATUS          current
                DESCRIPTION
                        "The value of ifIndex of a physical port capable of supporting the VM Tracking features"
                ::= { extremeVMPortConfigEntry 1 }

        extremeVMPortConfigVMTrackingEnabled  OBJECT-TYPE
                SYNTAX          TruthValue
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                        "Enables the VM Tracking feature on a port.  The VM Tracking feature is disabled by default"
                ::= { extremeVMPortConfigEntry 2 }

        extremeVMPortConfigVMTrackingDynVlanEnabled  OBJECT-TYPE
                SYNTAX          TruthValue
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                        "Enables the VM Tracking Dynamic VLAN feature on a port.  This feature is disabled by default. 
                        VM Tracking feature must be enabled before enabling this feature."
                ::= { extremeVMPortConfigEntry 3 }

	extremeVMVPPTable    OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeVMVPPEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains Port Policies contained within this switch.
                         Port Policies come in two variants: network and local.
                         Network policies are downloaded from the FTP server; local policies reside only within a single switch."
		::= { extremeVMVPP 1 }

	extremeVMVPPEntry	OBJECT-TYPE
		SYNTAX	ExtremeVMVPPEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An entry in the table of VM policy information of this device.  This table is populated with two sets of
                         policies, those downloaded from the policy server and those defined locally on this switch."
		INDEX { extremeVMVPPType, extremeVMVPPName }
		::= { extremeVMVPPTable 1 }

	ExtremeVMVPPEntry ::= SEQUENCE {
                extremeVMVPPType             INTEGER,
                extremeVMVPPName             DisplayString,
                extremeVMVPPControl          INTEGER,
                extremeVMVPPRowStatus        RowStatus,
                extremeVMVPPCounter          CounterDirection,
                extremeVMVPPVLANTag          INTEGER,
                extremeVMVPPVLANVRName       DisplayString
        }

        extremeVMVPPType  OBJECT-TYPE
                SYNTAX	        INTEGER {
                                  network(1),
                                  local(2)
                                }
                MAX-ACCESS      accessible-for-notify
                STATUS	        current
                DESCRIPTION
                        "The type of the port profile.  Network port profiles are obtained from a central policy store.  
                         Local policies are specific to this particular switch."
                ::= { extremeVMVPPEntry 1 }

        extremeVMVPPName OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(1..32))
                MAX-ACCESS	accessible-for-notify
                STATUS	        current
                DESCRIPTION
                        "The name of the Port VPP.  VPP names must be alpha-numeric and must start with an alpha character.
                         When received as part of extremeVMVPPSyncFailed notification, ignore this field if the value of
                         extremeVMVPPSynchType is global(1)."
                ::= { extremeVMVPPEntry 2 }

        extremeVMVPPControl  OBJECT-TYPE
		SYNTAX	        INTEGER {
                                  synchronizeNow(1),
                                  noOperation(2)
                                }
                MAX-ACCESS 	read-write
                STATUS	        current
                DESCRIPTION
                        "Performs the requested operation on this policy.
                         synchronizeNow(1) will download a copy of the policy from the FTP server.  (Network policies only)
                         This object will return noOperation(2) if read."
                ::= { extremeVMVPPEntry 3 }

        extremeVMVPPRowStatus  OBJECT-TYPE
		SYNTAX	        RowStatus
                MAX-ACCESS 	read-create
                STATUS	        current
                DESCRIPTION
                        "Only local VPPs can be created or deleted."
                ::= { extremeVMVPPEntry 4 }

        extremeVMVPPCounter OBJECT-TYPE
                SYNTAX          CounterDirection
                MAX-ACCESS 	read-create
                STATUS	        current
                DESCRIPTION
                        "This object specifies whether the VM gets attached to
                        this VPP needs to install dynamic counters to count
                        packets source MAC address matches VM MAC for ingress, 
                        packets destination MAC address matches VM MAC for
                        egress, packet source/destination MAC address matches
                        VM MAC for both. If none option is chosen the dynamic
                        counters will be uninstalled if it has been already
                        installed, if not nothing happens."
                ::= { extremeVMVPPEntry 5 }

        extremeVMVPPVLANTag OBJECT-TYPE
                SYNTAX          INTEGER (0..4094)
                MAX-ACCESS	read-create
                STATUS	        current
                DESCRIPTION
                        "VLAN Tag for Dynamic VLAN creation. For unset the
                        value of 0 can be configured during that
                        extremeVMVPPVLANVRName also be set to null string. 
                        If this parameter is not configured then 0 will be displayed . 
                        While setting this object if extremeVMVPPVLANVRName is not 
                        set then that will be assumed to have default value of VR-Default."
                ::= { extremeVMVPPEntry 6 }

        extremeVMVPPVLANVRName OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(0..32))
                MAX-ACCESS 	read-create
                STATUS	        current
                DESCRIPTION
                        "The Virtual router name for Dynamic VLAN creation.
                        VR-Mgmt cannot be specified and specified VR Name
                        should be existing. By default VR-Default will be
                        used.  This object display non-null string only when
                        extremeVMVPPVLANTag has non zero value. If this object
                        is going to be configured after extremeVMVPPVLANTag
                        has been configured for non zero value then this SET
                        might be rejected if any of detected VM clients uses
                        this VPP and these VPPs VR Name alone changes. Even
                        though this object is specifically set to null string
                        still this object display VR-Default if
                        extremeVMVPPVLANTag has non zero value"
                ::= { extremeVMVPPEntry 7 }


	extremeVMMappingTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeVMMappingEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains the mapping of port policies to virtual machine MAC addresses."
		::= { extremeVMVPP 2 }

	extremeVMMappingEntry	OBJECT-TYPE
		SYNTAX	        ExtremeVMMappingEntry
		MAX-ACCESS	not-accessible
		STATUS	        current
		DESCRIPTION
			"An entry in the table of VM information of this device."
		INDEX { extremeVMMappingType, extremeVMMappingMAC }
		::= { extremeVMMappingTable 1 }

	ExtremeVMMappingEntry ::= SEQUENCE {
                extremeVMMappingType             INTEGER,
                extremeVMMappingMAC              MacAddress,
                extremeVMMappingIngressVPPName   DisplayString,
                extremeVMMappingEgressVPPName    DisplayString,
                extremeVMMappingStatus           INTEGER,
                extremeVMMappingRowStatus        RowStatus,
                extremeVMMappingVPPName          DisplayString,
                extremeVMMappingVLANTag          INTEGER,
                extremeVMMappingVLANVRName       DisplayString
        }

        extremeVMMappingType    OBJECT-TYPE
                SYNTAX          INTEGER {
                                  network(1),
                                  local(2)
                                }
                MAX-ACCESS	accessible-for-notify
                STATUS          current
                DESCRIPTION
                        "The type of mapping for this entry.  A local mapping exists only on this specific switch.  
                        A network mapping is one obtained via a download of a mapping file."
                ::= { extremeVMMappingEntry 1 }

        extremeVMMappingMAC OBJECT-TYPE
                SYNTAX          MacAddress
                MAX-ACCESS	accessible-for-notify
                STATUS	        current
                DESCRIPTION
                        "The MAC address associated with the Virtual Machine.  Note that a VM may have multiple MAC addresses."
                ::= { extremeVMMappingEntry 2 }

        extremeVMMappingIngressVPPName  OBJECT-TYPE
                SYNTAX	        DisplayString
                MAX-ACCESS 	read-create
                STATUS	        obsolete
                DESCRIPTION
                        "The ingress policy associated with the VM/MAC address.  Note that this may refer to a policy without
                         a corresponding entry in the extremeVMVPPTable if a network policy mapping refers to a non-existent policy.
                         This would indicate an error in the policy mapping file that is consulted if network authentication fails.

                         When creating an entry in this table, this name must refer to an existing, valid, local policy.  The creation of
                         a mapping to a network policy is not permitted.  Those mappings must be created at the central policy server."
                ::= { extremeVMMappingEntry 3 }

        extremeVMMappingEgressVPPName  OBJECT-TYPE
                SYNTAX	        DisplayString
                MAX-ACCESS 	read-create
                STATUS	        obsolete
                DESCRIPTION
                        "The egress policy associated with the VM/MAC address.  Note that this may refer to a policy without
                         a corresponding entry in the extremeVMVPPTable if a network policy mapping refers to a non-existent policy.
                         This would indicate an error in the policy mapping file that is consulted if network authentication fails.

                         When creating an entry in this table, this name must refer to an existing, valid, local policy.  The creation of
                         a mapping to a network policy is not permitted.  Those mappings must be created at the central policy server."
                ::= { extremeVMMappingEntry 4 }

        extremeVMMappingStatus  OBJECT-TYPE
		SYNTAX	        INTEGER {
                                  vppValid(1),
                                  vppMissing(2),
                                  vppInvalid(3),
                                  vppNotMapped(4)
                                }
                MAX-ACCESS 	read-only
                STATUS	        current
                DESCRIPTION
                        "Indicates the virtual port profile mapping status.
                        vppValid(1) -> When VPP mapped to this VM MAC does not have any policies 
                                       associated with it (or) all the policies associated with 
                                       this VPP can be applied (policy validation is success). 
                                       Policy validation will happen only when
                                       this VM MAC is detected.
                        vppMissing(2)-> This value is applicable only for network VM if the 
                                        specified VPP Name was missing.
                        vppInvalid(3)-> When any one of polices mapped to VPP cannot be applied 
                                       (policy validation failed) because the policy file contains 
                                       one or more errors that prevent it from being applied
                        vppNotMaped(4)-> If the VM does not have any VPP Mapped."
                ::= { extremeVMMappingEntry 5 }

        extremeVMMappingRowStatus  OBJECT-TYPE
		SYNTAX	        RowStatus
                MAX-ACCESS 	read-create
                STATUS	        current
                DESCRIPTION
                        "Only local virtual port profiles can be created or deleted."
                ::= { extremeVMMappingEntry 6 }

       extremeVMMappingVPPName  OBJECT-TYPE
                SYNTAX	        DisplayString (SIZE(0..32))
                MAX-ACCESS 	read-create
                STATUS	        current
                DESCRIPTION
                        "The virtual port profile associated with the VM/MAC address.  
                        When creating an entry in this table, this name must refer to 
                        an existing, valid, local profile.  
                        The creation of a mapping to a network profile is not permitted.  
                        Those mappings must be created at the central policy server."
                ::= { extremeVMMappingEntry 7 }

        extremeVMMappingVLANTag OBJECT-TYPE
                SYNTAX          INTEGER (0..4094)
                MAX-ACCESS	read-create
                STATUS	        current
                DESCRIPTION
                        "VLAN Tag for Dynamic VLAN creation. For unset the
                        value of 0 can be configured during that
                        extremeVMMappingVLANVRName also be set to null string. 
                        If this parameter is not configured then 0 will be displayed . 
                        While setting this object if extremeVMMappingVLANVRName is not 
                        set then that will be assumed to have default value of VR-Default."
                ::= { extremeVMMappingEntry 8 }

        extremeVMMappingVLANVRName OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(0..32))
                MAX-ACCESS 	read-create
                STATUS	        current
                DESCRIPTION
                        "The Virtual router name for Dynamic VLAN creation.
                        VR-Mgmt cannot be specified and specified VR Name
                        should be existing. By default VR-Default will be
                        used.  This object display non-null string only when
                        extremeVMMappingVLANTag has non zero value. If this object
                        is going to be configured after extremeVMMappingVLANTag
                        has been configured for non zero value then this SET
                        might be rejected if any of detected VM clients uses
                        this mapping and these mapping VR Name alone changes.
                        Even though this object is specifically set to null string
                        still this object display VR-Default if
                        extremeVMVPPVLANTag has non zero value"
                ::= { extremeVMMappingEntry 9 }


	extremeVMVPP2PolicyTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeVMVPP2PolicyEntry
		MAX-ACCESS  not-accessible
        STATUS	        obsolete
		DESCRIPTION
			"This table contains the mapping of a VPP to individual Policies."
		::= { extremeVMVPP 3 }

	extremeVMVPP2PolicyEntry	OBJECT-TYPE
		SYNTAX	        ExtremeVMVPP2PolicyEntry
		MAX-ACCESS	not-accessible
		STATUS	        obsolete
		DESCRIPTION
			"An individual mapping of VPP to Policy."
		INDEX { extremeVMVPP2PolicyVPPName, extremeVMVPP2PolicyPolicyName, extremeVMVPP2PolicyType}
		::= { extremeVMVPP2PolicyTable 1 }

	ExtremeVMVPP2PolicyEntry ::= SEQUENCE {
                extremeVMVPP2PolicyVPPName          DisplayString,
                extremeVMVPP2PolicyPolicyName       DisplayString,
                extremeVMVPP2PolicyType             INTEGER,
                extremeVMVPP2PolicyOrder            Integer32,
                extremeVMVPP2PolicyRowStatus        RowStatus
        }

        extremeVMVPP2PolicyVPPName OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(1..32))
                MAX-ACCESS	not-accessible
                STATUS	        obsolete
                DESCRIPTION
                        "The name of the VPP"
                ::= { extremeVMVPP2PolicyEntry 1 }

        extremeVMVPP2PolicyPolicyName OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(1..32))
                MAX-ACCESS	not-accessible
                STATUS	        obsolete
                DESCRIPTION
                        "The name of the local policy"
                ::= { extremeVMVPP2PolicyEntry 2 }

        extremeVMVPP2PolicyType OBJECT-TYPE
                SYNTAX          INTEGER {
                                  policyFile(1),
                                  dynamicACL(2)
                                }
                MAX-ACCESS	not-accessible
                STATUS	        obsolete
                DESCRIPTION
                        "The type of policy"
                ::= { extremeVMVPP2PolicyEntry 3 }

        extremeVMVPP2PolicyOrder OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS	read-create
                STATUS	        obsolete
                DESCRIPTION
                        "The order in which this policy will be executed"
                ::= { extremeVMVPP2PolicyEntry 4 }

        extremeVMVPP2PolicyRowStatus OBJECT-TYPE
                SYNTAX          RowStatus
                MAX-ACCESS	read-create
                STATUS	        obsolete
                DESCRIPTION
                        "The row status for this mapping."
                ::= { extremeVMVPP2PolicyEntry 5 }

	extremeVMDetectedNumber  OBJECT-TYPE
		SYNTAX	        Gauge32
		MAX-ACCESS 	read-only
		STATUS	        current
		DESCRIPTION
			"The number of virtual machines detected on this switch."
        ::= { extremeVMDetected 1 }
  
	extremeVMDetectedTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeVMDetectedEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains the currently detected VMs on this switch."
		::= { extremeVMDetected 2 }

	extremeVMDetectedEntry	OBJECT-TYPE
		SYNTAX	        ExtremeVMDetectedEntry
		MAX-ACCESS	not-accessible
		STATUS	        current
		DESCRIPTION
			"An entry in the table of VM information of this device."
		INDEX { extremeVMDetectedMAC }
		::= { extremeVMDetectedTable 1 }

	ExtremeVMDetectedEntry ::= SEQUENCE {
                extremeVMDetectedMAC              MacAddress,
                extremeVMDetectedVMName           DisplayString,
                extremeVMDetectedIngressVPPName   DisplayString,
                extremeVMDetectedEgressVPPName    DisplayString,
                extremeVMDetectedIfIndex          Integer32,
		        extremeVMDetectedAdminStatus	  INTEGER,
                extremeVMDetectedOperStatus       INTEGER,
                extremeVMDetectedResultIngress    INTEGER,
                extremeVMDetectedResultEgress     INTEGER,
                extremeVMDetectedIngErrPolicies   OCTET STRING,
                extremeVMDetectedEgrErrPolicies   OCTET STRING,
                extremeVMDetectedVPPName          DisplayString,
                extremeVMDetectedVPPResult        INTEGER,
                extremeVMDetectedCounterInstallResult CounterDirection,
                extremeVMDetectedVMVLANTag        INTEGER,
                extremeVMDetectedVMVLANVRName     DisplayString
        }


        extremeVMDetectedMAC OBJECT-TYPE
                SYNTAX          MacAddress
                MAX-ACCESS	accessible-for-notify
                STATUS	        current
                DESCRIPTION
                        "The MAC address associated with the Virtual Machine.  Note that a VM may have multiple MAC addresses."
                ::= { extremeVMDetectedEntry 1 }

        extremeVMDetectedVMName OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(0..32))
                MAX-ACCESS	read-only
                STATUS	        current
                DESCRIPTION
                        "The name of the Virtual Machine.  Note that a VM authenticated locally may not have a name."
                ::= { extremeVMDetectedEntry 2 }

         extremeVMDetectedIngressVPPName OBJECT-TYPE
                SYNTAX          DisplayString
                MAX-ACCESS	read-only
                STATUS	        obsolete
                DESCRIPTION
                        "The name of the policy applied (or attempted to apply) to this virtual machine."
                ::= { extremeVMDetectedEntry 3 }

        extremeVMDetectedEgressVPPName OBJECT-TYPE
                SYNTAX          DisplayString
                MAX-ACCESS	read-only
                STATUS	        obsolete
                DESCRIPTION
                        "The name of the policy applied (or attempted to apply) to this virtual machine."
                ::= { extremeVMDetectedEntry 4 }

        extremeVMDetectedIfIndex OBJECT-TYPE
                SYNTAX          Integer32 
                MAX-ACCESS	read-only
                STATUS	        current
                DESCRIPTION
                        "The value of ifIndex on which this virtual machine was detected."
                ::= { extremeVMDetectedEntry 5 }

        extremeVMDetectedAdminStatus OBJECT-TYPE
                SYNTAX          INTEGER {
				                  authenticating(1),
                                  idle(2)
				}
                MAX-ACCESS	read-write
                STATUS	        current
                DESCRIPTION
                        "The administrative status of the Virtual Machine authentication.  Setting this variable to
			authenticating(1) will force the re-authentication of the VM.  This variable always returns idle(2)
			when read."
                ::= { extremeVMDetectedEntry 6 }
 
       extremeVMDetectedOperStatus OBJECT-TYPE
                SYNTAX          INTEGER {
                                   authenticating(1),
                                   authenticatedNetwork(2),
                                   authenticatedLocally(3),
                                   authenticationDenied(4),
                                   notAuthenticated(5)
                                }
                MAX-ACCESS      read-only
                STATUS	        current
                DESCRIPTION
                        "The authentication status of the VM
                        authenticating(1) an authentication is currently in progress
                        authenticatedNetwork(2) the VM has been authenticated by a network source
                        authenticatedLocally(3) the VM bas been authenticated by the local database
                        denied(4) the VM was either explicitly denied entry
                        notAuthenticated(5) the authentication process timed out or was never attempted."
                ::= { extremeVMDetectedEntry 7 }

        extremeVMDetectedResultIngress   OBJECT-TYPE
                SYNTAX          INTEGER {
                                  policyApplied(1),
				                  policyNotApplied(2),
				                  policyInvalid(3),
				                  policyNotFound(4),
				                  policyNotMapped(5)
                                }
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Indicates the result of a VM entry into the network.
                         Only below two values will be returned at any point of time.
                         policyApplied(1) - all the ingress policies in the VPP was successfully applied to the port.
                         policyNotApplied(2) - If any one of the ingress policies in the VPP was not applied to the port. 
                         If this value is returned then refer to extremeVMDetectedIngErrPolicies object for 
                         list of failed ingress policies."
                ::= { extremeVMDetectedEntry 8 }

        extremeVMDetectedResultEgress   OBJECT-TYPE
                SYNTAX          INTEGER {
                                  policyApplied(1),
				                  policyNotApplied(2),
				                  policyInvalid(3),
				                  policyNotFound(4),
				                  policyNotMapped(5)
                                }
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Indicates the result of a VM entry into the network.
                         Only below two values will be returned at any point of time.
                         policyApplied(1) - all the egress policies in the VPP was successfully applied to the port.
                         policyNotApplied(2) - If any one of the egress policies in the VPP was not applied to the port. 
                         If this value is returned then refer to extremeVMDetectedEgrErrPolicies object for 
                         list of failed egress policies."
                ::= { extremeVMDetectedEntry 9 }

        extremeVMDetectedIngErrPolicies OBJECT-TYPE
                SYNTAX          OCTET STRING (SIZE(0..1024))
                MAX-ACCESS	read-only
                STATUS	        current
                DESCRIPTION
                        "Displays the list of failed ingress policies"
                ::= { extremeVMDetectedEntry 10 }

        extremeVMDetectedEgrErrPolicies OBJECT-TYPE
                SYNTAX          OCTET STRING (SIZE(0..1024))
                MAX-ACCESS	read-only
                STATUS	        current
                DESCRIPTION
                        "Displays the list of failed egress policies"
                ::= { extremeVMDetectedEntry 11 }

        extremeVMDetectedVPPName OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(0..32))
                MAX-ACCESS	read-only
                STATUS	        current
                DESCRIPTION
                        "The name of the VPP applied (or attempted to apply) to this virtual machine."
                ::= { extremeVMDetectedEntry 12 }

       extremeVMDetectedVPPResult   OBJECT-TYPE
                SYNTAX          INTEGER {
                                  vppMapped(1),
				                  vppNotMapped(2),
                                  vppInvalid(3),
                                  vppMissing(4)
                                }
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Indicates the result of VPP associated with VM MAC.
                         vppMapped(1) indicates that the named VPP was mapped.
                         vppNotMapped(2) indicates that the no VPP was mapped.
                         vppInvalid(3) indicates that the VPP mapped was invalid.
                         vppMissing(4) indicates that the VPP mapped was missing."
                ::= { extremeVMDetectedEntry 13 }

        extremeVMDetectedCounterInstallResult   OBJECT-TYPE
                SYNTAX          CounterDirection
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Indicates the result of whether dynamic counter
                        installed for this VM.
                         ingress-only(1) - Dynamic counters are installed to count packet source MAC address matches VM MAC.
                         egress-only(2)  - Dynamic counters are installed to count packet destination MAC address matches VM MAC.
                         both(3) - Dynamic counters are installed to count packet source/destination MAC address matches VM MAC.
                         none(0) - Dynamic counters are not installed."
                ::= { extremeVMDetectedEntry 14 }

        extremeVMDetectedVMVLANTag OBJECT-TYPE
                SYNTAX          INTEGER (0..4094)
                MAX-ACCESS	read-only
                STATUS	        current
                DESCRIPTION
                        "VLAN Tag used for Dynamic VLAN creation for detected VM MAC. If this parameter is not configured then 0 will be displayed"
                ::= { extremeVMDetectedEntry 15 }

        extremeVMDetectedVMVLANVRName OBJECT-TYPE
                SYNTAX          DisplayString (SIZE(0..32))
                MAX-ACCESS 	read-only
                STATUS	        current
                DESCRIPTION
                        "The Virtual router name of the Dynamic VLAN created for detected VM MAC."
                ::= { extremeVMDetectedEntry 16 }

	extremeVMVPPDetailTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeVMVPPDetailEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains the mapping of a VPP to individual Policies."
        ::= { extremeVMVPP 4 }
		
	extremeVMVPPDetailEntry	OBJECT-TYPE
		SYNTAX	        ExtremeVMVPPDetailEntry
		MAX-ACCESS	not-accessible
		STATUS	        current
		DESCRIPTION
			"A set of mappings from a VPP to one or more policies."
		INDEX { extremeVMVPPDetailVPPName, extremeVMVPPDetailDirection, extremeVMVPPDetailType, extremeVMVPPDetailOrder, extremeVMVPPDetailPolicyName} 
		::= { extremeVMVPPDetailTable 1 }

	ExtremeVMVPPDetailEntry ::= SEQUENCE {
                extremeVMVPPDetailVPPName          DisplayString,
                extremeVMVPPDetailDirection        INTEGER,
                extremeVMVPPDetailType             INTEGER,
                extremeVMVPPDetailOrder            Integer32,
                extremeVMVPPDetailPolicyName       DisplayString,
                extremeVMVPPDetailRowStatus        RowStatus
        }

        extremeVMVPPDetailVPPName OBJECT-TYPE
                SYNTAX          DisplayString
                MAX-ACCESS	not-accessible
                STATUS	        current
                DESCRIPTION
                        "The name of the VPP"
                ::= { extremeVMVPPDetailEntry 1 }

        extremeVMVPPDetailDirection OBJECT-TYPE
                SYNTAX          INTEGER {
                                  ingress(1),
                                  egress(2)
                                }
                MAX-ACCESS	not-accessible
                STATUS	        current
                DESCRIPTION
                        "The direction in which the policy will be applied"
                ::= { extremeVMVPPDetailEntry 2 }

        extremeVMVPPDetailType OBJECT-TYPE
                SYNTAX          INTEGER {
                                  policyFile(1),
                                  dynamicACL(2)
                                }
                MAX-ACCESS	not-accessible
                STATUS	        current
                DESCRIPTION
                        "The type of policy"
                ::= { extremeVMVPPDetailEntry 3 }

        extremeVMVPPDetailOrder OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS	not-accessible
                STATUS	        current
                DESCRIPTION
                        "The order in which this policy will be executed"
                ::= { extremeVMVPPDetailEntry 4 }

        extremeVMVPPDetailPolicyName OBJECT-TYPE
                SYNTAX          DisplayString
                MAX-ACCESS	not-accessible
                STATUS	        current
                DESCRIPTION
                        "The name of the local policy"
                ::= { extremeVMVPPDetailEntry 5 }

        extremeVMVPPDetailRowStatus OBJECT-TYPE
                SYNTAX          RowStatus
                MAX-ACCESS	read-create
                STATUS	        current
                DESCRIPTION
                        "The row status for this mapping."
                ::= { extremeVMVPPDetailEntry 6 }

        extremeVMNotificationPrefix      OBJECT IDENTIFIER ::= { extremeVMNotifications 0 }

        extremeVMVPPSynchType   OBJECT-TYPE
                SYNTAX          VMVPPSynchType
                MAX-ACCESS      accessible-for-notify
                STATUS          current
                DESCRIPTION
                        "Indicates the type of policy"
                ::= { extremeVMNotificationObjects 1 }

        extremeVMVPPSyncFailed NOTIFICATION-TYPE
                OBJECTS {    
                  extremeVMFTPServer,
                  extremeVMFTPAddrType,
                  extremeVMFTPServerType, 
                  extremeVMLastSynchStatus,
                  extremeVMVPPName,
                  extremeVMVPPSynchType
                }
            STATUS current
                DESCRIPTION
                "A synchronization attempt failed."
                ::= { extremeVMNotificationPrefix 1 }

        extremeVMVPPInvalid NOTIFICATION-TYPE
                OBJECTS {    
                  extremeVMVPPType,
                  extremeVMVPPName
                }
            STATUS current
                DESCRIPTION
                "A virutal port profile definition is invalid, indicating it cannot be applied to a port."
                ::= { extremeVMNotificationPrefix 2 }

        extremeVMMapped NOTIFICATION-TYPE
                OBJECTS {    
                  extremeVMMappingMAC,
                  extremeVMMappingIngressVPPName,
                  extremeVMMappingEgressVPPName,
		          extremeVMMappingVPPName
                }
                STATUS            current
                DESCRIPTION
                        "This notification is generated whenever a MAC is manually mapped to a local policy."
                ::= { extremeVMNotificationPrefix 3 }

        extremeVMUnMapped NOTIFICATION-TYPE
                OBJECTS {    
                  extremeVMMappingMAC,
                  extremeVMMappingIngressVPPName,
                  extremeVMMappingEgressVPPName,
		          extremeVMMappingVPPName
                }
                STATUS            current
                DESCRIPTION
                        "This notification is generated whenever a MAC is manually unmapped to a local policy."
                ::= { extremeVMNotificationPrefix 4 }

        extremeVMDetectResult NOTIFICATION-TYPE
                OBJECTS {    
		          extremeVMDetectedMAC,
                  extremeVMDetectedIfIndex,
                  extremeVMDetectedIngressVPPName,
                  extremeVMDetectedEgressVPPName,
                  extremeVMDetectedResultIngress,
                  extremeVMDetectedResultEgress,
                  extremeVMDetectedOperStatus,
                  extremeVMDetectedIngErrPolicies,
                  extremeVMDetectedEgrErrPolicies,
		          extremeVMDetectedVPPResult,
		          extremeVMDetectedVPPName,
                  extremeVMDetectedCounterInstallResult
                }
                STATUS            current
                DESCRIPTION
                        "This notification is generated after a VM is detected on a port and reflects the result of that operation."
                ::= { extremeVMNotificationPrefix 5 }

        extremeVMUnDetectResult NOTIFICATION-TYPE
                OBJECTS {    
		          extremeVMDetectedMAC,
                  extremeVMDetectedIfIndex
                }
                STATUS            current
                DESCRIPTION
                        "This notification is generated after a VM is undetected (removed) from a port."
                ::= { extremeVMNotificationPrefix 6 }

END

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

EXTREME-ESRP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        MODULE-IDENTITY         FROM SNMPv2-SMI
	NOTIFICATION-TYPE, OBJECT-IDENTITY FROM SNMPv2-SMI
        RowStatus               FROM SNMPv2-TC
        MacAddress              FROM SNMPv2-TC
        OBJECT-TYPE             FROM SNMPv2-SMI
        Counter32, IpAddress    FROM SNMPv2-SMI
	Integer32               FROM SNMPv2-SMI
        TruthValue              FROM SNMPv2-TC
	DisplayString		FROM RFC1213-MIB
        ExtremeGenAddr          FROM EXTREME-BASE-MIB
        extremeAgent            FROM EXTREME-BASE-MIB
        PortList                FROM EXTREME-BASE-MIB;

        extremeEsrp MODULE-IDENTITY
	        LAST-UPDATED "200506240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Standby Routing Protocol information"
        ::= { extremeAgent 12 }

	extremeEsrpNotifications       OBJECT IDENTIFIER ::= { extremeEsrp 7 }
	extremeEsrpNotificationsPrefix OBJECT IDENTIFIER ::= { extremeEsrpNotifications 0 }
 	extremeEsrpObjects             OBJECT IDENTIFIER ::= { extremeEsrp 8 }

    extremeEsrpTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains ESRP information for this device."
        ::= { extremeEsrp 2 }

    extremeEsrpEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual entry of this table contains ESRP information for                 a given vlan belonging to a given ESRP group."
        INDEX {extremeEsrpVlanIfIndex, extremeEsrpGroup}
        ::= {extremeEsrpTable 1}

    ExtremeEsrpEntry ::= SEQUENCE {
                extremeEsrpVlanIfIndex        INTEGER,
                extremeEsrpGroup              INTEGER,
                extremeEsrpRowStatus          RowStatus,
                extremeEsrpNetAddress         ExtremeGenAddr,
                extremeEsrpState              INTEGER,
                extremeEsrpPriority           INTEGER,
                extremeEsrpElectionAlgorithm  INTEGER,
                extremeEsrpHelloTimer         INTEGER,
                extremeEsrpActivePorts        INTEGER,
                extremeEsrpTrackedActivePorts Integer32,
                extremeEsrpTrackedIpRoutes    Integer32,
                extremeEsrpTrackedPings       Integer32,
                extremeEsrpNumTransitionsToMaster Integer32,
                extremeEsrpNumTransitionsToSlave  Integer32,
                extremeEsrpInternalActivePorts    INTEGER
        }

        extremeEsrpVlanIfIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS	accessible-for-notify
                STATUS    current
                DESCRIPTION
                        "Any index to this table has a value that is
                        the same as the ifIndex of one of the vlans
                        present in the ifTable."
                ::= { extremeEsrpEntry 1 }

         extremeEsrpGroup OBJECT-TYPE
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS 	accessible-for-notify
                STATUS    current
                DESCRIPTION
                        "Indicates a gateway addresses this router backs
                        up. Any gateway address can be backed up by a
                        group of routers with one as the master and the
                        others as backup. An instance of this object 
                        refers to one such group. Only the default group
                        1 is supported currently."
                ::= { extremeEsrpEntry 2 }

          extremeEsrpRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpEntry 3 }
                
          extremeEsrpNetAddress OBJECT-TYPE
                SYNTAX  ExtremeGenAddr
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The IP/IPX address of this vlan. This entry
                        is null if no address has been assigned to the
                        vlan."
                ::= { extremeEsrpEntry 4 }
                
          extremeEsrpState OBJECT-TYPE
                SYNTAX    INTEGER {
                        neutral(1),
                        master(2),
                        slave(3)
                }
            MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "This indicates the ESRP state of this ESRP router."
                ::= { extremeEsrpEntry 5 }

        extremeEsrpPriority OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The priority which would be advertised by this
                        router for determining the esrp master."
                ::= { extremeEsrpEntry 6 }

         extremeEsrpElectionAlgorithm OBJECT-TYPE
                SYNTAX    INTEGER {
                        portsTrackPriorityMac(1),
                        trackPortsPriorityMac(2),
                        priorityPortsTrackMac(3),
		                priorityTrackPortsMac(4),
		                priorityMacOnly(5)
                }
                MAX-ACCESS read-create
                STATUS    current
                DESCRIPTION
                    "The algorithm to use in selecting the esrp master."
        ::= { extremeEsrpEntry 7 }

        extremeEsrpHelloTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval for exchanging hello messages."
                ::= { extremeEsrpEntry 8 }

        extremeEsrpActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of physical ports that are in this
                        vlan."
                ::= { extremeEsrpEntry 9 }

        extremeEsrpTrackedActivePorts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ports belonging to the vlans
                        that are tracked by this esrp router."
                ::= { extremeEsrpEntry 10 }

        extremeEsrpTrackedIpRoutes OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip routes that are tracked
                        by this esrp router."
                ::= { extremeEsrpEntry 11 }

        extremeEsrpTrackedPings OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip addresses that are ping-tracked
                        by this esrp router."
                ::= { extremeEsrpEntry 12 }

        extremeEsrpNumTransitionsToMaster OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of transitions to Master
                        by this esrp router."
                ::= { extremeEsrpEntry 13 }

        extremeEsrpNumTransitionsToSlave OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of transitions to Slave
                        by this esrp router."
                ::= { extremeEsrpEntry 14 }


        extremeEsrpInternalActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of internal physical ports that are
                        in this vlan."
                ::= { extremeEsrpEntry 15 }

    extremeEsrpNeighborTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpNeighborEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains ESRP information received from the ESRP 
             neighbors of this device."
        ::= { extremeEsrp 3 }

    extremeEsrpNeighborEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpNeighborEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "Each individual entry of this table contains ESRP information 
            of one ESRP neighbor."
        INDEX {extremeEsrpVlanIfIndex,
                       extremeEsrpGroup,
                       extremeEsrpNeighborMacAddress}
        ::= {extremeEsrpNeighborTable 1}

    ExtremeEsrpNeighborEntry  ::= SEQUENCE {
                extremeEsrpNeighborMacAddress  MacAddress,
                extremeEsrpNeighborGroup       INTEGER,
                extremeEsrpNeighborNetAddress  ExtremeGenAddr,
                extremeEsrpNeighborState       INTEGER,
                extremeEsrpNeighborPriority    Integer32,
                extremeEsrpNeighborElectionAlgorithm INTEGER,
                extremeEsrpNeighborHelloTimer  Integer32,
                extremeEsrpNeighborActivePorts Integer32,
                extremeEsrpNeighborTrackedActivePorts  Integer32,
                extremeEsrpNeighborTrackedIpRoutes     Integer32,
                extremeEsrpNeighborInternalActivePorts Integer32
        }

        extremeEsrpNeighborMacAddress OBJECT-TYPE
                SYNTAX  MacAddress
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "Mac address of other esrp routers that backup
                        this gateway address."
                ::= { extremeEsrpNeighborEntry 1 }

         extremeEsrpNeighborGroup OBJECT-TYPE
                SYNTAX    INTEGER (1..65535)
                MAX-ACCESS     not-accessible
                STATUS    current
                DESCRIPTION
                        "Indicates a gateway addresses this router backs
                        up. Any gateway address can be backed up by a
                        group of routers with one as the master and the
                        others as backup. An instance of this object 
                        refers to one such group. Note that this object
                        is defined in addition to extremeEsrpGroup.
                        Whereas the extremeEsrpGroup refers to the group
                        information advertised by this host the
                        extremeEsrpNeighborGroup refers to the group
                        information reported by the neighbor. There
                        might be a conflict. Only the default group
                        1 is supported currently."
                ::= { extremeEsrpNeighborEntry 2 }

        extremeEsrpNeighborNetAddress OBJECT-TYPE
                SYNTAX  ExtremeGenAddr
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The network layer address of this router. This
                        may be null if no address was assigned."
                ::= { extremeEsrpNeighborEntry 3 }

        extremeEsrpNeighborState OBJECT-TYPE
                SYNTAX    INTEGER {
                        neutral(1),
                        master(2),
                        slave(3)
                }
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "State of the esrp neighbor."
                ::= { extremeEsrpNeighborEntry 4 }

        extremeEsrpNeighborPriority OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The priority reported by this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 5 }

         extremeEsrpNeighborElectionAlgorithm OBJECT-TYPE
                SYNTAX    INTEGER {
                        portAndPriority(1),
                        priority(2),
                        priorityThenPort(3)
                }
                MAX-ACCESS read-only
                STATUS    current
                DESCRIPTION
                    "The algorithm to use in selecting the esrp master
                    reported by this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 6 }

         extremeEsrpNeighborHelloTimer OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The time interval for exchanging hello messages
                        configured at this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 7 }

        extremeEsrpNeighborActivePorts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of physical ports that are in present
                        in the neighbor's vlan."
                ::= { extremeEsrpNeighborEntry 8 }

        extremeEsrpNeighborTrackedActivePorts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ports belonging to the vlans
                        that are tracked by this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 9 }

        extremeEsrpNeighborTrackedIpRoutes OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip routes that are tracked
                        by this esrp neighbor."
                ::= { extremeEsrpNeighborEntry 10 }

        extremeEsrpNeighborInternalActivePorts OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of internal ports that are in present
                        in the neighbor."
                ::= { extremeEsrpNeighborEntry 11 }

    extremeEsrpTrackVlanTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpTrackVlanEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table containing information on the VLANs tracked by 
            this ESRP router."
        ::= { extremeEsrp 4 }

    extremeEsrpTrackVlanEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpTrackVlanEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of tracked VLAN information."
        INDEX {extremeEsrpVlanIfIndex,
                       extremeEsrpGroup,
                       extremeEsrpTrackVlanIfIndex}
        ::= {extremeEsrpTrackVlanTable 1}

    ExtremeEsrpTrackVlanEntry ::= SEQUENCE {
                extremeEsrpTrackVlanIfIndex INTEGER,
                extremeEsrpTrackVlanRowStatus RowStatus
        }

        extremeEsrpTrackVlanIfIndex OBJECT-TYPE
                SYNTAX  INTEGER   (1..65535)
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "The ifIndex of the tracked vlan."
                ::= { extremeEsrpTrackVlanEntry 1 }

        extremeEsrpTrackVlanRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpTrackVlanEntry 2 }


    extremeEsrpTrackIpRouteTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpTrackIpRouteEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table containing information on the IP routes tracked
            by this ESRP router."
        ::= { extremeEsrp 5 }

    extremeEsrpTrackIpRouteEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpTrackIpRouteEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of tracked IP routes information."
        INDEX {extremeEsrpVlanIfIndex,
                       extremeEsrpGroup,
                       extremeEsrpTrackIpRouteIpAddress,
                       extremeEsrpTrackIpRouteNetMask}
        ::= {extremeEsrpTrackIpRouteTable 1}

    ExtremeEsrpTrackIpRouteEntry ::= SEQUENCE {
                extremeEsrpTrackIpRouteIpAddress IpAddress,
                extremeEsrpTrackIpRouteNetMask   IpAddress,
                extremeEsrpTrackIpRouteRowStatus RowStatus
        }

        extremeEsrpTrackIpRouteIpAddress OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "The ifIndex of the tracked vlan."
                ::= { extremeEsrpTrackIpRouteEntry 1 }

        extremeEsrpTrackIpRouteNetMask OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "The ifIndex of the tracked vlan."
                ::= { extremeEsrpTrackIpRouteEntry 2 }

        extremeEsrpTrackIpRouteRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpTrackIpRouteEntry 3 }

    extremeEsrpPortTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeEsrpPortEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "A table containing information on the ports belonging 
            to the ESRP vlans on this router."
        ::= { extremeEsrp 6 }

    extremeEsrpPortEntry    OBJECT-TYPE
        SYNTAX    ExtremeEsrpPortEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of ESRP port information."
        INDEX {extremeEsrpVlanIfIndex, extremeEsrpPortIfIndex}
        ::= {extremeEsrpPortTable 1}

    ExtremeEsrpPortEntry ::= SEQUENCE {
                extremeEsrpPortIfIndex    Integer32,
                extremeEsrpPortState      TruthValue
        }

        extremeEsrpPortIfIndex OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "The ifIndex of the physical port that is part
                        of the vlan specified by the extremeEsrpVlanIfIndex."
                ::= { extremeEsrpPortEntry 1 }

        extremeEsrpPortState OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS  read-write
                STATUS current
                DESCRIPTION
                        "Indicates if esrp is enabled or disabled on this
                        port."
                ::= { extremeEsrpPortEntry 2 }

	extremeEsrpDomainTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeEsrpDomainEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains information for ESRP domains
            on this device."
		::= { extremeEsrpObjects  1 }

	extremeEsrpDomainEntry	OBJECT-TYPE
		SYNTAX	ExtremeEsrpDomainEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An individual entry of this table contains ESRP 
			information for	 a given ESRP domain and group."
		INDEX {extremeEsrpDmnName}
		::= {extremeEsrpDomainTable 1}

        ExtremeEsrpDomainEntry ::= SEQUENCE {
            extremeEsrpDmnName        		DisplayString,
            extremeEsrpDmnGroup	  		INTEGER,
            extremeEsrpDmnVersion	    INTEGER,
            extremeEsrpDmnAdminStatus   INTEGER,
            extremeEsrpDmnVlan       	DisplayString,
            extremeEsrpDmnVlanTag      	INTEGER,
            extremeEsrpDmnId	  		INTEGER,
            extremeEsrpDmnNetAddress  	IpAddress,
            extremeEsrpDmnState	  		INTEGER,
            extremeEsrpDmnMasterMacAddress  	MacAddress,
            extremeEsrpDmnPriority			INTEGER,
            extremeEsrpDmnOperPriority		INTEGER,
            extremeEsrpDmnHelloTimer		INTEGER,
            extremeEsrpDmnNeutralTimer		INTEGER,
            extremeEsrpDmnPreMasterTimer		INTEGER,
            extremeEsrpDmnNbrTimer			INTEGER,
            extremeEsrpDmnRestartTimer		INTEGER,
            extremeEsrpDmnActivePorts		INTEGER,
            extremeEsrpDmnActivePortWeight	INTEGER,
            extremeEsrpDmnInternalActivePorts	INTEGER,
            extremeEsrpDmnTrackedActivePorts	INTEGER,
            extremeEsrpDmnTrackedActivePortWeight	INTEGER,
            extremeEsrpDmnTrackedIpRoutes		INTEGER,
            extremeEsrpDmnTrackedPings		INTEGER,
            extremeEsrpDmnTrackedVlans		INTEGER,
            extremeEsrpDmnElectPreferenceForPorts	INTEGER,
            extremeEsrpDmnElectPreferenceForPriority	INTEGER,
            extremeEsrpDmnElectPreferenceForMac	INTEGER,
            extremeEsrpDmnElectPreferenceForTrack	INTEGER,
            extremeEsrpDmnElectPreferenceForSticky	INTEGER,
            extremeEsrpDmnElectPreferenceForWeight	INTEGER,
            extremeEsrpDmnRowStatus			RowStatus	
        }

	  extremeEsrpDmnName  OBJECT-TYPE
		SYNTAX	DisplayString (SIZE(0..31))
                MAX-ACCESS 	accessible-for-notify
                STATUS	current
                DESCRIPTION
                        "A unique name assigned to ESRP Domain."
                ::= { extremeEsrpDomainEntry 1 }

	  extremeEsrpDmnGroup OBJECT-TYPE
                SYNTAX	INTEGER (0..32)
                MAX-ACCESS 	read-create
                STATUS	current
                DESCRIPTION
                        "Identifier to pair ESRP routers with in a ESRP domain."
                ::= { extremeEsrpDomainEntry 2 }

	  extremeEsrpDmnVersion OBJECT-TYPE
		        SYNTAX INTEGER {
                        v1(1),
                        v2(2)
                }
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "ESRP Protocol Version Identifier."
                ::= { extremeEsrpDomainEntry 3 }

	  extremeEsrpDmnAdminStatus OBJECT-TYPE
		        SYNTAX INTEGER {
                        enabled (1),
                        disabled (2)
                }
                MAX-ACCESS 	read-create
                STATUS	current
                DESCRIPTION
                        "This objects is used to enable domain for ESRP-Core 
                        functionality or disable to function just as ESRP-Aware."
                ::= { extremeEsrpDomainEntry 4 }

	  extremeEsrpDmnVlan  OBJECT-TYPE
		SYNTAX	DisplayString
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "Master Vlan of ESRP domain."
                ::= { extremeEsrpDomainEntry 5 }

	  extremeEsrpDmnVlanTag OBJECT-TYPE
                SYNTAX	INTEGER (1..4093)
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "802.1q tag assigned to Master Vlan of
                        ESRP domain."
                ::= { extremeEsrpDomainEntry 6 }

	  extremeEsrpDmnId OBJECT-TYPE
                SYNTAX	INTEGER (1..65535)
                MAX-ACCESS 	read-create
                STATUS	current
                DESCRIPTION
                        "A unique identifer assigned to ESRP domain. This
			parameter is passed in ESRP V2 Hello PDU in order to 
			identify ESRP domains."
                ::= { extremeEsrpDomainEntry 7 }

	  extremeEsrpDmnState OBJECT-TYPE
		 SYNTAX INTEGER {
                        neutral(0),
                        master(1),
                        slave(2),
		 	premaster(3),
		 	aware(4)
		}
        	MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "This indicates the ESRP state of this ESRP router."
                ::= { extremeEsrpDomainEntry 8 }

	  extremeEsrpDmnNetAddress OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
			"Indicates a gateway addresses this router backs
                        up. Any gateway address can be backed up by 2 routers 
                        with one as the master and other as backup.
                        This entry is null if no address has been assigned to 
			the master vlan of this domain."
                ::= { extremeEsrpDomainEntry 9 }

	  extremeEsrpDmnMasterMacAddress OBJECT-TYPE
                SYNTAX  MacAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "MAC address of Master ESRP router."
                ::= { extremeEsrpDomainEntry 10 }

	  extremeEsrpDmnPriority OBJECT-TYPE
                SYNTAX  INTEGER  (0..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The priority which is configured by this
                        router for determining the esrp master."
                ::= { extremeEsrpDomainEntry 11 }

	  extremeEsrpDmnOperPriority OBJECT-TYPE
                SYNTAX  INTEGER  (0..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The operational priority which would be 
                        advertised by this router for determining 
                        the esrp master."
                ::= { extremeEsrpDomainEntry 12 }

	 extremeEsrpDmnHelloTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval for exchanging hello messages."
                ::= { extremeEsrpDomainEntry 13 }

	 extremeEsrpDmnNeutralTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval to stay in NEUTRAL state before
			changing state."
                ::= { extremeEsrpDomainEntry 14 }

	 extremeEsrpDmnPreMasterTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval to stay in PREMASTER state 
			before changing state."
                ::= { extremeEsrpDomainEntry 15 }

	 extremeEsrpDmnNbrTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Keep-Alive time interval to listen from ESRP neighbor."
                ::= { extremeEsrpDomainEntry 16 }

	 extremeEsrpDmnRestartTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The time interval to freeze any state transition 
			while neighbor is going through MSM failover or 
			graceful restart."
                ::= { extremeEsrpDomainEntry 17 }

	   extremeEsrpDmnActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of active vlan-ports that are part of this
			ESRP domain."
                ::= { extremeEsrpDomainEntry 18 }

        extremeEsrpDmnActivePortWeight OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The normalised link-weight of active vlan-ports that 
			are part of this ESRP domain."
                ::= { extremeEsrpDomainEntry 19 }

	extremeEsrpDmnInternalActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of internal active ports that are part of 
			this ESRP domain."
                ::= { extremeEsrpDomainEntry 20 }

	extremeEsrpDmnTrackedActivePorts OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of vlan-ports belonging to the vlans
                        that are tracked by this ESRP domain."
                ::= { extremeEsrpDomainEntry 21 }

	extremeEsrpDmnTrackedActivePortWeight OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The normalised link-weight of active vlan-ports that 
			are tracked by this  ESRP domain."
                ::= { extremeEsrpDomainEntry 22 }

	extremeEsrpDmnTrackedIpRoutes OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip routes that are tracked
                        by this ESRP domain."
                ::= { extremeEsrpDomainEntry 23 }

        extremeEsrpDmnTrackedPings OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of ip addresses that are ping-tracked
                        by this ESRP domain."
                ::= { extremeEsrpDomainEntry 24 }

        extremeEsrpDmnTrackedVlans OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The total number of vlans being tracked
                        by this ESRP domain."
                ::= { extremeEsrpDomainEntry 25 }

        extremeEsrpDmnElectPreferenceForPorts OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to ports while computing 
			Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 26 }
        
	extremeEsrpDmnElectPreferenceForPriority OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to Priority while computing 
			Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 27 }

        extremeEsrpDmnElectPreferenceForMac OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to MAC while computing 
			Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 28 }

        extremeEsrpDmnElectPreferenceForTrack OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to vlan tracking while 
			computing Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 29 }

        extremeEsrpDmnElectPreferenceForSticky OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to sticky bit while 
			computing Master Election for this ESRP domain."
                ::= { extremeEsrpDomainEntry 30 }

        extremeEsrpDmnElectPreferenceForWeight OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "Level of preference given to active port weight
                        (APW) while computing Master Election for this 
                        ESRP domain."
                ::= { extremeEsrpDomainEntry 31 }

	extremeEsrpDmnRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpDomainEntry 32 }

   	extremeEsrpDomainMemberTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeEsrpDomainMemberEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains information for member vlans 
            of ESRP domain."
		::= { extremeEsrpObjects  2 }

   extremeEsrpDomainMemberEntry	OBJECT-TYPE
		SYNTAX	ExtremeEsrpDomainMemberEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An individual entry of this table contains member vlan 
			information for	a given ESRP domain ."
		INDEX {extremeEsrpDmnName, extremeEsrpVlanDescr}
		::= {extremeEsrpDomainMemberTable 1}

        ExtremeEsrpDomainMemberEntry ::= SEQUENCE {
            extremeEsrpVlanDescr            DisplayString,
            extremeEsrpVlanType             INTEGER,
	    extremeEsrpDomainVlanIfIndex    Integer32,
            extremeEsrpVlanRowStatus        RowStatus
        }

	  extremeEsrpVlanDescr OBJECT-TYPE
		SYNTAX	DisplayString (SIZE(0..31))
                MAX-ACCESS 	not-accessible
                STATUS	current
                DESCRIPTION
                        "Name identifier assigned to member vlan of 
                        ESRP domain."
                ::= { extremeEsrpDomainMemberEntry 1 }

      extremeEsrpVlanType OBJECT-TYPE
                SYNTAX  INTEGER {
                    master(1),
                    protected(2)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "ESRP domain can have one master vlan and many
                        protected vlans.This object is used to identify whether
                        the vlan is a master or protected one."
                ::= { extremeEsrpDomainMemberEntry 2 }

      extremeEsrpDomainVlanIfIndex OBJECT-TYPE
                SYNTAX  Integer32 
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "permanent interface index assigned to this
                        ESRP domain member vlan."
                ::= { extremeEsrpDomainMemberEntry 3 }

	  extremeEsrpVlanRowStatus OBJECT-TYPE
                SYNTAX  RowStatus
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The status of this entry."
                ::= { extremeEsrpDomainMemberEntry 4 }


	extremeEsrpDomainNeighborTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeEsrpDomainNeighborEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains neighbor router information for 
            ESRP domains on this device."
		::= { extremeEsrpObjects  3 }

	extremeEsrpDomainNeighborEntry	OBJECT-TYPE
		SYNTAX	ExtremeEsrpDomainNeighborEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An individual entry of this table contains neighbor 
            ESRP router information for a given ESRP domain."
		INDEX {extremeEsrpDmnName }
		::= {extremeEsrpDomainNeighborTable 1}

        ExtremeEsrpDomainNeighborEntry ::= SEQUENCE {
            extremeEsrpDmnNeighborMacAddress                MacAddress,
            extremeEsrpDmnNeighborGroup                     INTEGER,
            extremeEsrpDmnNeighborNetAddress                IpAddress,
            extremeEsrpDmnNeighborState                     INTEGER,
            extremeEsrpDmnNeighborPriority                  INTEGER,
            extremeEsrpDmnNeighborHelloTimer                INTEGER,
            extremeEsrpDmnNeighborActivePorts               INTEGER,
            extremeEsrpDmnNeighborInternalActivePorts       INTEGER,
            extremeEsrpDmnNeighborTrackedActivePorts        INTEGER,
            extremeEsrpDmnNeighborTrackedIpCount            INTEGER,
            extremeEsrpDmnNeighborActivePortWeight          INTEGER,
            extremeEsrpDmnNeighborTrackedActivePortWeight   INTEGER
        }

	  extremeEsrpDmnNeighborMacAddress OBJECT-TYPE
                SYNTAX  MacAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "MAC address of ESRP Neighbor router."
                ::= { extremeEsrpDomainNeighborEntry 1 }

	  extremeEsrpDmnNeighborGroup OBJECT-TYPE
                SYNTAX	INTEGER (0..32)
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "Identifier to pair ESRP routers with in a ESRP domain."
                ::= { extremeEsrpDomainNeighborEntry 2 }

      extremeEsrpDmnNeighborNetAddress OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
			            "Indicates a gateway address which is backed up by
                        ESRP neighbor and this router."
                ::= { extremeEsrpDomainNeighborEntry 3 }

      extremeEsrpDmnNeighborState OBJECT-TYPE
		 SYNTAX INTEGER {
                        neutral(0),
                        master(1),
                        slave(2),
		 	premaster(3),
		 	aware(4)
		}
        	MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "This indicates the ESRP state of neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 4 }

	  extremeEsrpDmnNeighborPriority OBJECT-TYPE
                SYNTAX  INTEGER  (0..255)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The priority which is being advertised by neighbor
                        ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 5 }

	  extremeEsrpDmnNeighborHelloTimer OBJECT-TYPE
                SYNTAX  INTEGER  (1..255)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The hello time interval being advertised by neighbor
                        ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 6 }

      extremeEsrpDmnNeighborActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of active ports being advertised by neighbor
                        ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 7 }

	  extremeEsrpDmnNeighborInternalActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of internal active ports being advertised 
                        by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 8 }

	  extremeEsrpDmnNeighborTrackedActivePorts OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number of tracked active ports being advertised 
                        by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 9 }

	  extremeEsrpDmnNeighborTrackedIpCount OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The number represents sum of tracked routes and tracked
                        pings being advertised by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 10 }
	  
      extremeEsrpDmnNeighborActivePortWeight OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The weight of active ports being advertised 
                        by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 11 }
	  
      extremeEsrpDmnNeighborTrackedActivePortWeight OBJECT-TYPE
                SYNTAX  INTEGER  (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The weight of tracked active ports being advertised 
                        by neighbor ESRP router."
                ::= { extremeEsrpDomainNeighborEntry 12 }

     extremeEsrpDomainAwareTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeEsrpDomainAwareEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains ESRP aware information for this device."
		::= { extremeEsrpObjects  4 }

	 extremeEsrpDomainAwareEntry	OBJECT-TYPE
		SYNTAX	ExtremeEsrpDomainAwareEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An individual entry of this table contains
            ESRP Aware information for a given ESRP domain and group."
		INDEX {extremeEsrpDmnName, extremeEsrpDmnGroup}
		::= {extremeEsrpDomainAwareTable 1}

        ExtremeEsrpDomainAwareEntry ::= SEQUENCE {
            extremeEsrpMasterMacAddress     MacAddress,
            extremeEsrpMasterLastChanged    DisplayString,
            extremeEsrpNumFdbFlushes        Counter32,
            extremeEsrpHelloPktsReceived    Counter32,
            extremeEsrpHelloPktsForwarded   Counter32
        }

	 extremeEsrpMasterMacAddress OBJECT-TYPE
                SYNTAX  MacAddress
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "MAC address of Master ESRP router."
                ::= { extremeEsrpDomainAwareEntry 1 }

	 extremeEsrpMasterLastChanged OBJECT-TYPE
		        SYNTAX	DisplayString (SIZE(0..31))
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Date and time when new ESRP master was elected."
                ::= { extremeEsrpDomainAwareEntry 2 }

	 extremeEsrpNumFdbFlushes OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "This object represents number of times switch
                        FDB has been flushed on new master election."
                ::= { extremeEsrpDomainAwareEntry 3 }

 	 extremeEsrpHelloPktsReceived OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of ESRP Aware hello packets received."
                ::= { extremeEsrpDomainAwareEntry 4 }

   	 extremeEsrpHelloPktsForwarded OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of ESRP Aware hello packets forwarded."
                ::= { extremeEsrpDomainAwareEntry 5 }

     extremeEsrpDomainStatsTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeEsrpDomainStatsEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains statistics on ESRP hello packets 
            exchanged and ESRP state changes for this device."
		::= { extremeEsrpObjects  5 }

	 extremeEsrpDomainStatsEntry	OBJECT-TYPE
		SYNTAX	ExtremeEsrpDomainStatsEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An individual entry of this table contains
            statistical information for a given ESRP domain."
		INDEX {extremeEsrpDmnName}
		::= {extremeEsrpDomainStatsTable 1}

     ExtremeEsrpDomainStatsEntry ::= SEQUENCE {
        extremeEsrpLastStateChanged             DisplayString,
	    extremeEsrpDomainNumTransitionsToMaster       Counter32,
	    extremeEsrpNumTransitionsToPreMaster    Counter32,
	    extremeEsrpDomainNumTransitionsToSlave        Counter32,
	    extremeEsrpNumTransitionsToNeutral      Counter32,
	    extremeEsrpNumTransitionsToAware        Counter32,
        extremeEsrpHelloPktsReceived1           Counter32,
        extremeEsrpHelloPktsTransmitted         Counter32
     }

	 extremeEsrpLastStateChanged OBJECT-TYPE
		SYNTAX	DisplayString (SIZE(0..31))
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Date and time when ESRP state changed last."
                ::= { extremeEsrpDomainStatsEntry 1 }

 	 extremeEsrpDomainNumTransitionsToMaster OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'MASTER' state."
                ::= { extremeEsrpDomainStatsEntry 2 }

 	 extremeEsrpNumTransitionsToPreMaster OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'PREMASTER' state."
                ::= { extremeEsrpDomainStatsEntry 3 }

 	 extremeEsrpDomainNumTransitionsToSlave OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'SLAVE' state."
                ::= { extremeEsrpDomainStatsEntry 4 }

 	 extremeEsrpNumTransitionsToNeutral OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'NEUTRAL' state."
                ::= { extremeEsrpDomainStatsEntry 5 }

 	 extremeEsrpNumTransitionsToAware OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of times ESRP domain entered 'AWARE' state."
                ::= { extremeEsrpDomainStatsEntry 6 }

 	 extremeEsrpHelloPktsReceived1 OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of ESRP hello packets received."
                ::= { extremeEsrpDomainStatsEntry 7 }
 	 
     extremeEsrpHelloPktsTransmitted OBJECT-TYPE
                SYNTAX  Counter32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Count of ESRP hello packets transmitted."
		::= { extremeEsrpDomainStatsEntry 8 }
		

     extremeEsrpAwareSelectForwardPortsTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeEsrpAwareSelectForwardPortsEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains ESRP aware selective forward ports information for this device."
		::= { extremeEsrpObjects  6 }

	 extremeEsrpAwareSelectForwardPortsEntry	OBJECT-TYPE
		SYNTAX	ExtremeEsrpAwareSelectForwardPortsEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An individual entry of this table contains
            ESRP Aware selective forward port information for a given ESRP domain and group."
		INDEX {extremeEsrpAwareSelFwdListDmnName, 
		       extremeEsrpAwareSelFwdListDmnGroup}
		::= {extremeEsrpAwareSelectForwardPortsTable 1}

        ExtremeEsrpAwareSelectForwardPortsEntry ::= SEQUENCE {
            extremeEsrpAwareSelFwdListDmnName        		DisplayString,
            extremeEsrpAwareSelFwdListDmnGroup	  		INTEGER,
            extremeEsrpAwareSelFwdListPortCount	  		INTEGER,
            extremeEsrpAwareSelFwdListPortList	  		PortList
        }

	 extremeEsrpAwareSelFwdListDmnName OBJECT-TYPE
                SYNTAX  DisplayString
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "A unique name assigned to ESRP Domain."
                ::= { extremeEsrpAwareSelectForwardPortsEntry 1 }

	 extremeEsrpAwareSelFwdListDmnGroup OBJECT-TYPE
                SYNTAX  INTEGER (0..31)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Identifier to pair ESRP routers with in a ESRP domain."
                ::= { extremeEsrpAwareSelectForwardPortsEntry 2 }

	 extremeEsrpAwareSelFwdListPortCount OBJECT-TYPE
                SYNTAX  INTEGER (0..65535)
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "Number of selective forward ports"
                ::= { extremeEsrpAwareSelectForwardPortsEntry 3 }
 
 	 extremeEsrpAwareSelFwdListPortList OBJECT-TYPE
                 SYNTAX  PortList
                 MAX-ACCESS  read-only
                 STATUS current
                 DESCRIPTION
                        "Each bit in the octet string represents one port.
                         A 1 means that the port is a selective forward port in that vlan. 
                         The bit value for a port is 0 otherwise."
                 ::= { extremeEsrpAwareSelectForwardPortsEntry 4 }
 

    extremeEsrpDomainStateChange NOTIFICATION-TYPE
            OBJECTS { extremeEsrpDmnName,
                     extremeEsrpDmnGroup,
                     extremeEsrpDmnState,
                     extremeEsrpDmnNetAddress,
                     extremeEsrpDmnMasterMacAddress,
                     extremeEsrpDmnActivePorts,
                     extremeEsrpDmnInternalActivePorts,
                     extremeEsrpDmnTrackedActivePorts,
                     extremeEsrpDmnTrackedIpRoutes,
                     extremeEsrpDmnTrackedPings,
                     extremeEsrpDmnActivePortWeight,
                     extremeEsrpDmnTrackedActivePortWeight}
            STATUS   current
            DESCRIPTION
            "Signifies Esrp state change"
        ::= { extremeEsrpNotificationsPrefix 1 }

END

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

EXTREME-EDP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
		OBJECT-TYPE             FROM SNMPv2-SMI
		IpAddress               FROM SNMPv2-SMI
		ifIndex                 FROM RFC1213-MIB
		DisplayString           FROM RFC1213-MIB
                TruthValue              FROM SNMPv2-TC
                ExtremeDeviceId         FROM EXTREME-BASE-MIB
                Integer32         	FROM SNMPv2-SMI
                extremeAgent            FROM EXTREME-BASE-MIB;


        extremeEdp MODULE-IDENTITY
                LAST-UPDATED "9910200000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Discovery Protocol information"
        ::= { extremeAgent 13 }

	extremeEdpTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeEdpEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains EDP information of this device."
		::= { extremeEdp 2 }

	extremeEdpEntry	OBJECT-TYPE
		SYNTAX	ExtremeEdpEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An entry in the table of EDP information of this device."
		INDEX {extremeEdpPortIfIndex, extremeEdpNeighborId}
		::= {extremeEdpTable 1}

	ExtremeEdpEntry ::= SEQUENCE {
                extremeEdpPortIfIndex             INTEGER,
                extremeEdpNeighborId              ExtremeDeviceId,
                extremeEdpNeighborName            DisplayString,
                extremeEdpNeighborSoftwareVersion DisplayString,
                extremeEdpNeighborSlot      	  INTEGER,
                extremeEdpNeighborPort      	  INTEGER,
                extremeEdpEntryAge        	  Integer32
        }

        extremeEdpPortIfIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS	accessible-for-notify
                STATUS	current
                DESCRIPTION
                        "The ifIndex of the physical port on which this
			entry was discovered via edp."
                ::= { extremeEdpEntry 1 }

        extremeEdpNeighborId  OBJECT-TYPE
                SYNTAX	ExtremeDeviceId
                MAX-ACCESS 	accessible-for-notify
                STATUS	current
                DESCRIPTION
                        "The identifier associated with the neighbor."
                ::= { extremeEdpEntry 2 }

        extremeEdpNeighborName  OBJECT-TYPE
		SYNTAX	DisplayString
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "The identifier associated with the neighbor."
                ::= { extremeEdpEntry 3 }

        extremeEdpNeighborSoftwareVersion  OBJECT-TYPE
		SYNTAX	DisplayString
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "The identifier associated with the neighbor."
                ::= { extremeEdpEntry 4 }

        extremeEdpNeighborSlot  OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "The slot on which this neighbor received the
			edp message."
                ::= { extremeEdpEntry 5 }

        extremeEdpNeighborPort  OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "The port on which this neighbor received the
			edp message."
                ::= { extremeEdpEntry 6 }

        extremeEdpEntryAge  OBJECT-TYPE
                SYNTAX	Integer32
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "The time in seconds since this entry was last
			updated."
                ::= { extremeEdpEntry 7 }


	extremeEdpNeighborTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeEdpNeighborEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table contains EDP neighbor information."
		::= { extremeEdp 3 }

	extremeEdpNeighborEntry	OBJECT-TYPE
		SYNTAX	ExtremeEdpNeighborEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An entry in the table of EDP Neighbor information."
		INDEX {extremeEdpPortIfIndex, extremeEdpNeighborId,
			extremeEdpNeighborVlanName}
		::= {extremeEdpNeighborTable 1}

	ExtremeEdpNeighborEntry ::= SEQUENCE {
                extremeEdpNeighborVlanName      DisplayString,
                extremeEdpNeighborVlanId        INTEGER,
                extremeEdpNeighborVlanIpAddress IpAddress
        }

        extremeEdpNeighborVlanName  OBJECT-TYPE
		SYNTAX	DisplayString (SIZE(1..81))
                MAX-ACCESS 	not-accessible
                STATUS	current
                DESCRIPTION
                        "The name of the vlan configured on and reported
			by this edp neighbor."
                ::= { extremeEdpNeighborEntry 1 }

        extremeEdpNeighborVlanId  OBJECT-TYPE
		SYNTAX	INTEGER (0..65535)
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "The vlan identifier associated with this vlan
			configured on this neighbor."
                ::= { extremeEdpNeighborEntry 2 }

        extremeEdpNeighborVlanIpAddress  OBJECT-TYPE
		SYNTAX	IpAddress
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "The ip address of the reported vlan."
                ::= { extremeEdpNeighborEntry 3 }


	extremeEdpPortTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeEdpPortEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			""
		::= { extremeEdp 4 }

	extremeEdpPortEntry	OBJECT-TYPE
		SYNTAX	ExtremeEdpPortEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			""
		INDEX {ifIndex }
		::= {extremeEdpPortTable 1}

	ExtremeEdpPortEntry ::= SEQUENCE {
                extremeEdpPortState      TruthValue
        }

        extremeEdpPortState OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS  read-write
                STATUS current
                DESCRIPTION
                        "Indicates if edp is enabled or disabled on this
                        port."
                ::= { extremeEdpPortEntry 1 }

END

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

EXTREME-STP-EXTENSIONS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE        FROM SNMPv2-SMI
    TruthValue        FROM SNMPv2-TC
    DisplayString        FROM RFC1213-MIB
    Integer32, Counter32, TimeTicks    FROM SNMPv2-SMI
    RowStatus               FROM SNMPv2-TC
    extremeVlanIfIndex    FROM EXTREME-VLAN-MIB
    extremeAgent, PortList	FROM EXTREME-BASE-MIB
    extremeSlotNumber       FROM EXTREME-SYSTEM-MIB;

    extremeStp MODULE-IDENTITY        
	        LAST-UPDATED "201012150000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme STP extensions"
        ::= { extremeAgent 17 }

    BridgeId ::= OCTET STRING (SIZE (8))   -- the
    Timeout ::= Integer32 -- a STP timer in units of 1/100 seconds

    extremeStpDomainTable    OBJECT-TYPE
        SYNTAX                        SEQUENCE OF ExtremeStpDomainEntry
        MAX-ACCESS                    not-accessible
        STATUS                        current
        DESCRIPTION
        "This table contains STP information per STP domain."
        ::= { extremeStp 1 }

    extremeStpDomainEntry    OBJECT-TYPE
        SYNTAX                        ExtremeStpDomainEntry
        MAX-ACCESS                    not-accessible
        STATUS                        current
        DESCRIPTION
        "An entry in the extremeStpDomain Table."
        INDEX        { extremeStpDomainStpdInstance }
        ::= { extremeStpDomainTable 1 }

    ExtremeStpDomainEntry ::= SEQUENCE {
        extremeStpDomainStpdInstance            Integer32,
        extremeStpDomainStpdName            DisplayString,
        extremeStpDomainStpEnabled            TruthValue,
        extremeStpDomainRstpEnabled            TruthValue,
        extremeStpDomainStpdTag                INTEGER,
        extremeStpDomainNumPorts            Integer32,
        extremeStpDomainBridgeId            BridgeId,
        extremeStpDomainBridgePriority            INTEGER,
        extremeStpDomainDesignatedRoot            BridgeId,
        extremeStpDomainRootPortIfIndex            Integer32,
        extremeStpDomainRootCost            Integer32,    
        extremeStpDomainRRFailoverEnabled        TruthValue,    
        extremeStpDomainMaxAge                Timeout,        
        extremeStpDomainHelloTime            Timeout,
        extremeStpDomainForwardDelay            Timeout,
        extremeStpDomainBridgeMaxAge            Timeout,
        extremeStpDomainBridgeHelloTime            Timeout,
        extremeStpDomainBridgeForwardDelay        Timeout,
        extremeStpDomainHoldTime            Timeout,
        extremeStpDomainTopChanges            Counter32,
        extremeStpDomainTimeSinceTopologyChange        TimeTicks,
        extremeStpDomainRowStatus            RowStatus,
        extremeStpDomainPortInstance         Integer32,
        extremeStpDomainStpdDescription      DisplayString
        }

        extremeStpDomainStpdInstance            OBJECT-TYPE
		SYNTAX			 Integer32
        MAX-ACCESS                    accessible-for-notify
        STATUS                        current
        DESCRIPTION
        "The unique identifier of this STP domain."
        ::= { extremeStpDomainEntry 1 }

        extremeStpDomainStpdName            OBJECT-TYPE
        SYNTAX                        DisplayString (SIZE(1..31))
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The name associated with this STP domain."
        ::= { extremeStpDomainEntry 2 }

        extremeStpDomainStpEnabled            OBJECT-TYPE
        SYNTAX                        TruthValue
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The Enabled/Disabled state of STP on this STP domain."
        ::= { extremeStpDomainEntry 3 }


        extremeStpDomainRstpEnabled            OBJECT-TYPE
        SYNTAX                        TruthValue
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The Enabled/Disabled state of Rapid STP on this STP domain."
        ::= { extremeStpDomainEntry 4 }


        extremeStpDomainStpdTag                OBJECT-TYPE
        SYNTAX                        INTEGER (0..4095)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The StpdId of this STP domain which appears as the 802.1Q tag. Therefore, 
        it must be the VLAN tag of one of the wholly-contained VLANs of this STP
        domain (i.e., the Carrier VLAN).  A value of 0 is returned if the STP domain
        has no Carrier VLAN defined yet or is a completely native 802.1D domain."
        ::= { extremeStpDomainEntry 5 }

        extremeStpDomainNumPorts            OBJECT-TYPE
		SYNTAX			Integer32
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The number of physical ports belonging to this STP domain."
        ::= { extremeStpDomainEntry 6 }

        extremeStpDomainBridgeId            OBJECT-TYPE
        SYNTAX                        BridgeId
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The bridge identifier of this bridge for this STP domain."
        ::= { extremeStpDomainEntry 7 }

        extremeStpDomainBridgePriority            OBJECT-TYPE
        SYNTAX                        INTEGER (0..65535)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The bridge priority of this bridge for this STP domain."
        ::= { extremeStpDomainEntry 8 }

        extremeStpDomainDesignatedRoot            OBJECT-TYPE
        SYNTAX                        BridgeId
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The root bridge identifier for this STP domain as determined by the STP
        running on this bridge for this STP domain"
        ::= { extremeStpDomainEntry 9 }

        extremeStpDomainRootPortIfIndex            OBJECT-TYPE
		SYNTAX			Integer32
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The port ifIndex of the root port of this bridge for this STP domain."
        ::= { extremeStpDomainEntry 10 }

        extremeStpDomainRootCost            OBJECT-TYPE
		SYNTAX			Integer32
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The cost of the path from this bridge to the root bridge of this STP domain"
        ::= { extremeStpDomainEntry 11 }

        extremeStpDomainRRFailoverEnabled        OBJECT-TYPE
        SYNTAX                        TruthValue
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The Enabled/Disabled state of Rapid Root Failover for this bridge on 
        this STP domain."
        ::= { extremeStpDomainEntry 12 }

        extremeStpDomainMaxAge                OBJECT-TYPE
        SYNTAX                        Timeout
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The maximum allowable age, in units of hundredths of a second, of STP 
        information learned by this bridge for this STP domain, after which it 
        is discarded. This is the value currently being used by the bridge."
        ::= { extremeStpDomainEntry 13 }

        extremeStpDomainHelloTime            OBJECT-TYPE
        SYNTAX                        Timeout
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The time, in hundredths of a second, between successive transmissions
        of Configuration BPDUs when this bridge is(or is trying to become) the 
        root bridge for this STP domain. This is the value currently being used
        by this bridge."
        ::= { extremeStpDomainEntry 14 }

        extremeStpDomainForwardDelay            OBJECT-TYPE
        SYNTAX                        Timeout
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The forward delay time, in hundredths of a second, currently
        being used by this bridge on this STP domain."
        ::= { extremeStpDomainEntry 15 }

        extremeStpDomainBridgeMaxAge            OBJECT-TYPE
        SYNTAX                        Timeout (600..4000)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "This is the value of MaxAge used by all other bridges in 
        this STP domain when this bridge is the root bridge."
        ::= { extremeStpDomainEntry 16 }

        extremeStpDomainBridgeHelloTime            OBJECT-TYPE
        SYNTAX                        Timeout (100..1000)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "This is the value of HelloTime used by all other bridges in
        this STP domain when this bridge is the root bridge."
        ::= { extremeStpDomainEntry 17 }

        extremeStpDomainBridgeForwardDelay        OBJECT-TYPE
        SYNTAX                        Timeout (400..3000)
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "This is the value of ForwardDelay used by all other bridges in
        this STP domain when this bridge is the root bridge."

        ::= { extremeStpDomainEntry 18 }

        extremeStpDomainHoldTime            OBJECT-TYPE
        SYNTAX                        Timeout
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "This is the Hold Time, in hundredths of a second, for this
        STP domain."
        ::= { extremeStpDomainEntry 19 }

        extremeStpDomainTopChanges            OBJECT-TYPE
        SYNTAX                        Counter32
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The number of topology changes detected by this bridge for
        this STP domain since the management entity was initialized
        or reset."
        ::= { extremeStpDomainEntry 20 }

        extremeStpDomainTimeSinceTopologyChange        OBJECT-TYPE
        SYNTAX                        TimeTicks
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The time, in hundredths of a second, since a topology change
        was last detected by this bridge for this STP domain."
        ::= { extremeStpDomainEntry 21 }

        extremeStpDomainRowStatus            OBJECT-TYPE
        SYNTAX                        RowStatus
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The status of this entry, as per standard RowStatus conventions."
        ::= { extremeStpDomainEntry 22 }

        extremeStpDomainPortInstance       OBJECT-TYPE
	SYNTAX			Integer32
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The port ifIndex of the port disabled in STP domain."
        ::= { extremeStpDomainEntry 23 }

        extremeStpDomainStpdDescription            OBJECT-TYPE
        SYNTAX                        DisplayString (SIZE(1..180))
        MAX-ACCESS                    read-only
        STATUS                        current
        DESCRIPTION
        "The description associated with this STP domain."
        ::= { extremeStpDomainEntry 24 }
        
    extremeStpPortTable            OBJECT-TYPE
        SYNTAX                SEQUENCE OF ExtremeStpPortEntry
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
        "This table contains port-specific information per STP domain."
    ::= { extremeStp 2 }

    extremeStpPortEntry            OBJECT-TYPE
        SYNTAX                ExtremeStpPortEntry
        MAX-ACCESS            not-accessible
        STATUS                current
        DESCRIPTION
        "An entry in the extremeStpPort table."
        INDEX        { extremeStpDomainStpdInstance, extremeStpPortPortIfIndex }
        ::= { extremeStpPortTable 1 }    

    ExtremeStpPortEntry ::= SEQUENCE {
        extremeStpPortPortIfIndex    Integer32,
                extremeStpPortStpEnabled        TruthValue,
        extremeStpPortPortMode        INTEGER,
        extremeStpPortPortState        INTEGER,
        extremeStpPortPortPriority    INTEGER,
        extremeStpPortPortId        OCTET STRING,
        extremeStpPortPathCost        INTEGER,
        extremeStpPortDesignatedCost    Integer32,
                extremeStpPortDesignatedRoot    BridgeId,
        extremeStpPortDesignatedBridge    BridgeId,
        extremeStpPortDesignatedPort    OCTET STRING,
        extremeStpPortRowStatus        RowStatus        
        }

    extremeStpPortPortIfIndex        OBJECT-TYPE
		SYNTAX		Integer32
        MAX-ACCESS                not-accessible
        STATUS                current
        DESCRIPTION
        "The ifIndex of the physical port for which this entry contains STP information."
        ::= { extremeStpPortEntry 1 }

    extremeStpPortStpEnabled        OBJECT-TYPE
        SYNTAX                TruthValue
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The enabled/disabled state of this STP instance on this port."
        ::= { extremeStpPortEntry 2 }


    extremeStpPortPortMode            OBJECT-TYPE
        SYNTAX                INTEGER { 
                            dot1d(1), 
                            emistp(2), 
                            pvstp(3), 
                            dot1w(4)
                            }
        MAX-ACCESS                read-only
        STATUS                    current
        DESCRIPTION
        "The port mode of this port in this STP domain."
        ::= { extremeStpPortEntry 3 }

    extremeStpPortPortState            OBJECT-TYPE
        SYNTAX                INTEGER { 
                            disabled(1),
                            blocking(2),
                            listening(3),
                            learning(4),
                            forwarding(5)
                        }
                                     
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The port state of this port in this STP domain."
        ::= { extremeStpPortEntry 4 }

    extremeStpPortPortPriority        OBJECT-TYPE
        SYNTAX                INTEGER (0..31)
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The port priority of this port in this STP domain."
        ::= { extremeStpPortEntry 5 }

    extremeStpPortPortId            OBJECT-TYPE
        SYNTAX                OCTET STRING (SIZE(2))
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The port identifier of this port in this STP domain."
        ::= { extremeStpPortEntry 6 }

    extremeStpPortPathCost            OBJECT-TYPE
        SYNTAX                INTEGER (1..65535)
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The path cost of this port for this STP domain."
        ::= { extremeStpPortEntry 7 }

    extremeStpPortDesignatedCost        OBJECT-TYPE
		SYNTAX		Integer32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The path cost, for this STP domain, of the Designated Port of the 
        segment connected to this port."
        ::= { extremeStpPortEntry 8 }

        extremeStpPortDesignatedRoot            OBJECT-TYPE
                SYNTAX                          BridgeId
                MAX-ACCESS                      read-only
                STATUS                          current
                DESCRIPTION
                    "The root bridge identifier, for this STP domain, that is sent in the 
                    Configuration BPDUs transmitted by the Designated Bridge for the segment
                    to which this port is attached."
                ::= { extremeStpPortEntry 9 }

    extremeStpPortDesignatedBridge        OBJECT-TYPE
        SYNTAX                BridgeId
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The bridge identifier for the bridge considered to be the Designated Bridge,
        in this STP domain, for the segment connected to this port."
        ::= { extremeStpPortEntry 10 }

    extremeStpPortDesignatedPort        OBJECT-TYPE
        SYNTAX                OCTET STRING(SIZE(2))
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The port identifier of the Designated Port on this port's segment, for this
        STP domain."
        ::= { extremeStpPortEntry 11 }

    extremeStpPortRowStatus            OBJECT-TYPE
        SYNTAX                RowStatus
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
        "The status of this entry, as per standard RowStatus conventions."
        ::= { extremeStpPortEntry 12 }


    extremeStpVlanPortTable        OBJECT-TYPE
        SYNTAX            SEQUENCE OF ExtremeStpVlanPortEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION
        "This table contains information of the ports belonging to a STP domain on a per VLAN basis."
        ::= { extremeStp 3 }

    extremeStpVlanPortEntry        OBJECT-TYPE
        SYNTAX            ExtremeStpVlanPortEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION
        "An entry in the extremeStpVlanPort table."
        INDEX        { extremeVlanIfIndex, extremeStpDomainStpdInstance }
    ::= { extremeStpVlanPortTable 1 }

    ExtremeStpVlanPortEntry ::= SEQUENCE {
        extremeStpVlanPortPortMask        PortList,
        extremeStpVlanPortRowStatus        RowStatus
        }

    extremeStpVlanPortPortMask    OBJECT-TYPE
    SYNTAX                PortList
    MAX-ACCESS            read-only
    STATUS                current
    DESCRIPTION
    "The list of ports in this STP domain and in this VLAN."
    ::= { extremeStpVlanPortEntry 1 }

    extremeStpVlanPortRowStatus    OBJECT-TYPE
    SYNTAX                RowStatus
    MAX-ACCESS            read-only
    STATUS                current
    DESCRIPTION
    "The status of this entry, as per standard RowStatus conventions."
    ::= { extremeStpVlanPortEntry 2 }

    extremeStpNotifications    OBJECT IDENTIFIER
     ::=  { extremeStp 4 }

    extremeStpNotificationsPrefix OBJECT IDENTIFIER
     ::= { extremeStpNotifications 0}
  

    extremeStpEdgePortLoopDetected NOTIFICATION-TYPE
        OBJECTS  { extremeStpDomainStpdInstance,
                   extremeStpDomainPortInstance
                 }
        STATUS  current
        DESCRIPTION
        "A Loop has been detected and the port will be disabled."
        ::= { extremeStpNotificationsPrefix 1}

END

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

EXTREME-CLEARFLOW-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                DisplayString           FROM RFC1213-MIB
	        Unsigned32              FROM SNMPv2-SMI
	        Integer32               FROM SNMPv2-SMI
		Counter64		FROM SNMPv2-SMI
	        NOTIFICATION-TYPE       FROM SNMPv2-SMI
                extremeAgent            FROM EXTREME-BASE-MIB;
 
        extremeClearflow MODULE-IDENTITY
	        LAST-UPDATED "200503220000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "CLEAR-Flow MIB"
        ::= { extremeAgent 30 }
        
        extremeClearflowMsgId OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "User-defined message id"
        ::= { extremeClearflow 1 }
        
        extremeClearflowMsg OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..256))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "User-defined message"
        ::= { extremeClearflow 2 }
        
        extremeClearflowPolicyName OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..32))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Policy file name"
        ::= { extremeClearflow 3 }
        
        extremeClearflowRuleName OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..32))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Rule name which triggered this message"
        ::= { extremeClearflow 4 }

        extremeClearflowRuleValue OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Calculated rule value"
        ::= { extremeClearflow 5 }

        extremeClearflowRuleThreshold OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Rule threshold value"
        ::= { extremeClearflow 6 }

        extremeClearflowRuleInterval OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Rule sampling and evaluation interval"
        ::= { extremeClearflow 7 }

        extremeClearflowVlanName OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..32))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Vlan name on which this policy is applied"
        ::= { extremeClearflow 8 }
        
        extremeClearflowPortName OBJECT-TYPE
        SYNTAX     DisplayString (SIZE(1..32))
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION "Port name on which this policy is applied"
        ::= { extremeClearflow 9 }

        
        extremeAclListTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF ExtremeAclListEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "This table lists Access control list information that exist within
                a device.  A single entry exists in this list for each
                VLAN and Port interface in the system."
        ::= { extremeClearflow 10 }

        extremeAclListEntry OBJECT-TYPE
            SYNTAX  ExtremeAclListEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "An individual Access control list entry."
        INDEX { extremeAclVlanIfIndex, extremeAclPortIfIndex }
        ::= { extremeAclListTable 1 }

        ExtremeAclListEntry ::=
            SEQUENCE {
                extremeAclVlanIfIndex
                    Integer32,
                extremeAclPortIfIndex
                    Integer32,
                extremeAclCounterName
                    DisplayString,
                extremeAclVlanName
                    DisplayString,
                extremeAclPolicyName
                    DisplayString,
                extremeAclDirection
                    Integer32,
                extremeAclPktCount
                    Counter64,
                extremeAclByteCount
                    Counter64
            }

        extremeAclPortIfIndex OBJECT-TYPE
            SYNTAX  Integer32 (1..65535)
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "An port index that uniquely identifies an entry in the
                acl list table."
        ::= { extremeAclListEntry 1 }

        extremeAclVlanIfIndex OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "An vlan index that uniquely identifies an entry in the
                acl list table."
        ::= { extremeAclListEntry 2 }

        extremeAclCounterName OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(0..33))
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The access control list counter name"
        ::= { extremeAclListEntry 3 }

        extremeAclVlanName OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(0..32))
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Vlan name on which this policy is applied"    
        ::= { extremeAclListEntry 4 }

        extremeAclPolicyName OBJECT-TYPE
            SYNTAX  DisplayString
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The access control list name"
        ::= { extremeAclListEntry 5 }

        extremeAclDirection OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The interface direction."
        ::= { extremeAclListEntry 6 }

        extremeAclPktCount OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
                "The access control list packet count"
        ::= { extremeAclListEntry 7 }

        extremeAclByteCount OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The access control list byte count"
        ::= { extremeAclListEntry 8 }

        extremeTrafficQueueStatsTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF ExtremeTrafficQueueStatsTableEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "This table lists traffic queue statistics information that exist 
                within a device.  A single entry exists in this list for each
                traffic queue in the system."
        ::= { extremeClearflow 11 }

        extremeTrafficQueueStatsTableEntry OBJECT-TYPE
            SYNTAX  ExtremeTrafficQueueStatsTableEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "An individual traffic queue stats table entry."
        INDEX { extremeTrafficQueueName }
        ::= { extremeTrafficQueueStatsTable 1 }

        ExtremeTrafficQueueStatsTableEntry ::=
            SEQUENCE {
                extremeTrafficQueueName
                    DisplayString,
                extremeTrafficQueueDirection
                    Integer32,
                extremeTrafficQueueHighPassedPkts
                    Counter64,
                extremeTrafficQueueHighPassedBytes
                    Counter64,
                extremeTrafficQueueHighDroppedPkts
                    Counter64,
                extremeTrafficQueueHighDroppedBytes
                    Counter64,
                extremeTrafficQueueMedPassedPkts
                    Counter64,
                extremeTrafficQueueMedPassedBytes
                    Counter64,
                extremeTrafficQueueMedDroppedPkts
                    Counter64,
                extremeTrafficQueueMedDroppedBytes
                    Counter64,
                extremeTrafficQueueLowPassedPkts
                    Counter64,
                extremeTrafficQueueLowPassedBytes
                    Counter64,
                extremeTrafficQueueLowDroppedPkts
                    Counter64,
                extremeTrafficQueueLowDroppedBytes
                    Counter64,
                extremeTrafficQueueAggPassedPkts
                    Counter64,
                extremeTrafficQueueAggPassedBytes
                    Counter64,
                extremeTrafficQueueAggDroppedPkts
                    Counter64,
                extremeTrafficQueueAggDroppedBytes
                   Counter64
        }

        extremeTrafficQueueName OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(0..33))
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The traffic queue name that uniquely identifies an entry in the
                traffic queue table."
        ::= { extremeTrafficQueueStatsTableEntry 1 }

        extremeTrafficQueueDirection OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Indicates the direction of traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 2 }

        extremeTrafficQueueHighPassedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Maximum number of packets passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 3 }

        extremeTrafficQueueHighPassedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Maximum number of bytes passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 4 }
  
        extremeTrafficQueueHighDroppedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Maximum number of packets dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 5 }

        extremeTrafficQueueHighDroppedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Maximum number of bytes dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 6 }

        extremeTrafficQueueMedPassedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium number of packets passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 7 }

        extremeTrafficQueueMedPassedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium number of bytes passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 8 }

        extremeTrafficQueueMedDroppedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium number of packets dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 9 }

        extremeTrafficQueueMedDroppedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium number of bytes dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 10 }

        extremeTrafficQueueLowPassedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Minimum number of packets passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 11 }

        extremeTrafficQueueLowPassedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Minimum number of bytes passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 12 }

        extremeTrafficQueueLowDroppedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Minimum number of packets dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 13 }

        extremeTrafficQueueLowDroppedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Minimum number of bytes dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 14 }

        extremeTrafficQueueAggPassedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Aggregate number of packets passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 15 }

        extremeTrafficQueueAggPassedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Aggregate number of bytes passed for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 16 }

        extremeTrafficQueueAggDroppedPkts OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Aggregate number of packets dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 17 }

        extremeTrafficQueueAggDroppedBytes OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Aggregate number of bytes dropped for this traffic queue"
        ::= { extremeTrafficQueueStatsTableEntry 18 }

        extremeTrafficQueueUtilTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF ExtremeTrafficQueueUtilTableEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "This table lists traffic queue statistics information that exist 
                within a device.  A single entry exists in this list for each
                traffic queue in the system."
        ::= { extremeClearflow 12 }

        extremeTrafficQueueUtilTableEntry OBJECT-TYPE
            SYNTAX  ExtremeTrafficQueueUtilTableEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "An each traffic queue related utilization information"
            INDEX { extremeUtilTrafficQueueName }
        ::= { extremeTrafficQueueUtilTable 1 }

        ExtremeTrafficQueueUtilTableEntry ::=
            SEQUENCE {
                extremeUtilTrafficQueueName
                    DisplayString,
                extremeUtilTrafficQueueDirection
                    Integer32,
                extremeTrafficQueueHighUtilization
                    DisplayString,
                extremeTrafficQueueMedUtilization
                    DisplayString,
                extremeTrafficQueueLowUtilization
                    DisplayString
           }

        extremeUtilTrafficQueueName OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(0..33))
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "The traffic queue name that uniquely identifies an entry in the
                traffic queue table."
        ::= { extremeTrafficQueueUtilTableEntry 1 }

        extremeUtilTrafficQueueDirection OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Indicates the direction of traffic queue"
        ::= { extremeTrafficQueueUtilTableEntry 2 }

        extremeTrafficQueueHighUtilization OBJECT-TYPE
            SYNTAX  DisplayString
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "High level utilization of the traffic queue "
        ::= { extremeTrafficQueueUtilTableEntry 3 }

        extremeTrafficQueueMedUtilization OBJECT-TYPE
            SYNTAX  DisplayString
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Medium level utilization of the traffic queue "
        ::= { extremeTrafficQueueUtilTableEntry 4 }

        extremeTrafficQueueLowUtilization OBJECT-TYPE
            SYNTAX  DisplayString
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
               "Low level utilization of the traffic queue "
        ::= { extremeTrafficQueueUtilTableEntry 5 }

        extremeClearflowTraps     OBJECT IDENTIFIER
        ::= { extremeClearflow 0 }
    
        extremeClearflowTrapsPrefix     OBJECT IDENTIFIER
        ::= { extremeClearflowTraps 0 }

        extremeClearflowMessage NOTIFICATION-TYPE
            OBJECTS {   extremeClearflowMsgId, 
                        extremeClearflowMsg,
                        extremeClearflowPolicyName,
                        extremeClearflowRuleName,
                        extremeClearflowRuleValue,
                        extremeClearflowRuleThreshold,
                        extremeClearflowRuleInterval,
                        extremeClearflowVlanName,
                        extremeClearflowPortName}
            STATUS  current
            DESCRIPTION "CLEAR-Flow message trap"
        ::= { extremeClearflowTrapsPrefix 1 }


END

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

EXTREME-ACL-MIB DEFINITIONS ::= BEGIN
        
        IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE, Counter64
                     				  FROM SNMPv2-SMI
                extremeAgent          FROM EXTREME-BASE-MIB
                InterfaceIndexOrZero  FROM IF-MIB
                DisplayString         FROM SNMPv2-TC
                Integer32             FROM SNMPv2-SMI
                Unsigned32            FROM SNMPv2-SMI
                OBJECT-GROUP          FROM SNMPv2-CONF
                MODULE-COMPLIANCE     FROM SNMPv2-CONF;

        extremeAcl MODULE-IDENTITY
                LAST-UPDATED "201512110000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Networks Access Control List MIB"

                REVISION "201512110000Z"
                DESCRIPTION "Initial version."

        ::= { extremeAgent 48 }

        extremeAclObjects        OBJECT IDENTIFIER
        ::= { extremeAcl 1 }
        
--
-- Access Control List Statistics table
--	

extremeAclStatsTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF ExtremeAclStatsEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "This table provides ingress and egress statistics information for 
                the access control list configured for the VLAN and Port interface 
                in the system. Here is the usage guidelines for this MIB:
                1) To retrieve the ingress/egress statistics information for a counter 
                   installed on a port specify extremeAclStatsPortIfIndex with the corresponding 
                   portIfIndex and extremeAclStatsVlanIfIndex with 0.

                2) To retrieve the ingress/egress statistics information for a counter 
                   installed on a VLAN specify extremeAclStatsVlanIfIndex with the corresponding
                   vlanIfIndex and extremeAclStatsPortIfIndex with 0.			

                3) To retrieve the ingress/egress statistics information for the wild card entry 
                   (the rule applied all ports), specify both extremeAclStatsPortIfIndex and
                   extremeAclStatsVlanIfIndex with 0.

                4) Right now we do not support acls to be installed in vlan and port. If we start
                   supporting the same, specifiy  extremeAclStatsVlanIfIndex with the corresponding
                   vlanIfIndex and  extremeAclStatsPortIfIndex with the corresponding 
                   portIfIndex. 

                5) To retrieve statistics for a counter applied in ingress direction, specify 
                   extremeAclRuleDirection with the value 0 and for statistics for a counter
                   applied in egress direction specify extremeAclRuleDirection, with the value 1. "

        ::= { extremeAclObjects 1 }

        extremeAclStatsEntry OBJECT-TYPE
            SYNTAX  ExtremeAclStatsEntry
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "An entry (conceptual row) in the extremeAclStatsTable."
        INDEX { extremeAclStatsVlanIfIndex, 
                extremeAclStatsPortIfIndex,
                extremeAclRuleDirection,
                extremeAclStatsCounterName }
        ::= { extremeAclStatsTable 1 }

        ExtremeAclStatsEntry ::=
            SEQUENCE {
                extremeAclStatsVlanIfIndex
                    InterfaceIndexOrZero,
                extremeAclStatsPortIfIndex
                    InterfaceIndexOrZero,
                extremeAclRuleDirection
                    Integer32, 
                extremeAclStatsCounterName
                    DisplayString,
                extremeAclStatsPktCount
                    Counter64,
                extremeAclStatsByteCount
                    Counter64
            }

        extremeAclStatsVlanIfIndex OBJECT-TYPE
            SYNTAX  InterfaceIndexOrZero 
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "The IfIndex of the VLAN in which this policy/rule is applied."
        ::= { extremeAclStatsEntry 1 }

        extremeAclStatsPortIfIndex OBJECT-TYPE
            SYNTAX  InterfaceIndexOrZero 
            MAX-ACCESS  not-accessible
            STATUS current
            DESCRIPTION
               "The IfIndex of the the port in which this policy/rule is applied."
        ::= { extremeAclStatsEntry 2 }

        extremeAclRuleDirection OBJECT-TYPE
            SYNTAX Integer32 -- Ingress direction will have value zero and egress will have one.
            MAX-ACCESS     not-accessible
            STATUS current
            DESCRIPTION
                "The ingress/egress direction to which this policy/rule is applied."
        ::= { extremeAclStatsEntry 3 }

        extremeAclStatsCounterName OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(1..32)) 
            MAX-ACCESS     not-accessible
            STATUS current
            DESCRIPTION
                "Name of the counter for which the stats is requested."
        ::= { extremeAclStatsEntry 4 }

        extremeAclStatsPktCount OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
                "The total number of packets that matches this rule."
        ::= { extremeAclStatsEntry 5 }

        extremeAclStatsByteCount OBJECT-TYPE
            SYNTAX  Counter64
            MAX-ACCESS     read-only
            STATUS current
            DESCRIPTION
                "The total number of bytes that matches this rule."
        ::= { extremeAclStatsEntry 6 }

-- conformance information

aclConformance OBJECT IDENTIFIER ::= { extremeAcl 9}

aclGroups      OBJECT IDENTIFIER ::= { aclConformance 1}
aclCompliances OBJECT IDENTIFIER ::= { aclConformance 2}


aclStatistics MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
          "The compliance statement for acl statistics"

    MODULE
        MANDATORY-GROUPS { aclCounterStatsGroup }

        OBJECT extremeAclStatsPktCount
            SYNTAX  Counter64
            MIN-ACCESS     read-only
            DESCRIPTION
                "The total number of packets that matches this rule."

        OBJECT extremeAclStatsByteCount
            SYNTAX  Counter64
            MIN-ACCESS     read-only
            DESCRIPTION
                "The total number of bytes that matches this rule."

        ::= { aclCompliances 1 }

aclCounterStatsGroup OBJECT-GROUP
    OBJECTS { extremeAclStatsPktCount,
              extremeAclStatsByteCount }
    STATUS   current
    DESCRIPTION
             "A collection of objects providing statistical information
              for rules applied to a port or vlan"

    ::= { aclGroups 1}
END

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

EXTREME-IP-SECURITY-MIB DEFINITIONS ::= BEGIN

      IMPORTS
                MODULE-IDENTITY                                                     FROM SNMPv2-SMI
		OBJECT-TYPE                                                         FROM SNMPv2-SMI
		IpAddress                                                           FROM SNMPv2-SMI
		Counter64                                                           FROM SNMPv2-SMI
                Integer32                                                           FROM SNMPv2-SMI     	
                TEXTUAL-CONVENTION, DisplayString, MacAddress, RowStatus            FROM SNMPv2-TC
                InetAddressType, InetAddress , InetPortNumber                       FROM INET-ADDRESS-MIB 
                extremeAgent                                                        FROM EXTREME-BASE-MIB;


     extremeIpSecurity MODULE-IDENTITY
	        LAST-UPDATED "200502140000Z"
            ORGANIZATION "Extreme Networks, Inc."
            CONTACT-INFO "www.extremenetworks.com"
            DESCRIPTION "Extreme IP Security MIB"
         ::= { extremeAgent 34 }

     extremeIpSecurityTraps     OBJECT IDENTIFIER
         ::= { extremeIpSecurity 1 }

     extremeIpSecurityTrapsPrefix     OBJECT IDENTIFIER
         ::= { extremeIpSecurityTraps 0 }

     extremeIpSecurityViolation NOTIFICATION-TYPE
        OBJECTS { extremeIpSecurityVlanIfIndex,
                  extremeIpSecurityVlanDescr,
                  extremeIpSecurityPortIfIndex,
                  extremeIpSecurityIpAddr,
                  extremeIpSecurityMacAddress,
                  extremeIpSecurityViolationType }
        STATUS      current
        DESCRIPTION
            "For vlans/ports on which one or more of the IP Security 
            features have been enabled, this trap will be generated when a packet 
            received on that vlan/port is in violation of the configured IP 
            Security protections"
        ::= { extremeIpSecurityTrapsPrefix 1 }
 
     extremeIpSecurityVlanIfIndex OBJECT-TYPE
         SYNTAX Integer32
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The ifIndex of the VLAN on which the violating packet was received."
         ::= { extremeIpSecurityTraps 1 }

     extremeIpSecurityVlanDescr OBJECT-TYPE
         SYNTAX DisplayString (SIZE(0..32))
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The description(name) of the VLAN on which the violating packet was received."
         ::= { extremeIpSecurityTraps 2 }

    extremeIpSecurityPortIfIndex  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The ifIndex of the port on which the violating packet was received."
        ::= { extremeIpSecurityTraps 3 }

    extremeIpSecurityIpAddr  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS accessible-for-notify
        STATUS       current
        DESCRIPTION
        "Source IP address of the violating packet"
        ::= { extremeIpSecurityTraps 4 }

    extremeIpSecurityMacAddress  OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "Source MAC address from the ethernet header of the violating packet"
        ::= { extremeIpSecurityTraps 5 }

        extremeIpSecurityViolationType OBJECT-TYPE
        SYNTAX  INTEGER {
            rogueDhcpServerPacket(1),
            badIpMacBindingInArpPacket(2),
            badIpInArpPacket(3),
            badMacInArpPacket(4),
            bcastSenderIpInArpPacket(5),
            bcastTargetIpInArpPacket(6)
        }
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The type of IP Security violation that occurred
            - rogueDhcpServerPacket(1)
                    A rogue DHCP server packet was received.
            - badIpMacBindingInArpPacket(2)
                    The IP-MAC binding received in the ARP packet does not exist in 
                    the DHCP Bindings table or is incorrect.
            - badIpInArpPacket(3)
                    The Source IP address in the ARP payload is invalid.
            - badMacInArpPacket(4)
                    One of the MAC addresses in the ARP payload does not match with
                    its counterpart in the ethernet header.
            - bcastSenderIpInArpPacket(5)
                    The Sender IP address in the ARP payload is Broadcast.
            - bcastTargetIpInArpPacket(6)
                    The Target IP address in the ARP payload is Broadcast."
        ::= { extremeIpSecurityTraps 6 }


--
-- protocol anomaly traps
--

-- internal conventions 

     HexOctet ::= TEXTUAL-CONVENTION
         DISPLAY-HINT    "2x"
         STATUS          current
         DESCRIPTION
            "A single hexidecimal octet used to specify TCP flags" 
         SYNTAX          OCTET STRING (SIZE (2))

     VlanTag ::= TEXTUAL-CONVENTION
         STATUS          current
         DESCRIPTION
            "The tag used when encapsulating packets transmitted" 
         SYNTAX         INTEGER (0..4095) 

    IpProtocol ::= TEXTUAL-CONVENTION
        DISPLAY-HINT    "d"
        STATUS          current
        DESCRIPTION
             "The value of the IP Protocol field of an IP Datagram
              Header. This identifies the protocol layer above IP. For
              example, the value 6 is used for TCP and the value 17 is used
              for UDP.  The values of this field are defined in the Assigned
              Numbers RFC."
        SYNTAX          INTEGER {
                        unknown(0),
                        icmp(1),
                        tcp(6),
                        udp(17)
                    }

    TcpFlagAnomalyReason ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
           " 1) (TCP flag SYN is set) and (its TCP source port < 1024). OR   
             2) (TCP flag == 0) and (TCP seq # == 0). OR   
             3) (TCP flag FIN/URG/PSH bits sre set) and (TCP seq # == 0). OR   
             4) Both TCP iflag SYN and FIN are set" 
        SYNTAX          INTEGER {
                        unknown(0),
                        flagSynAndSrcPort(1),
                        flagAndSeq(2),
                        flagFinAndUrgAandPshandSeq(3),
                        flagSynAndFin(4)
                    }

    IcmpAnomalyReason ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
           " 1) the size of ICMP is large than pre-configured allowed size  
             2) Fragmented ICMP packet" 
        SYNTAX          INTEGER {
                        unknown(0),
                        icmpOverSize(1),
                        icmpFragmented(2)
                    }

    TcpFragmentAnomalyReason ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
           " 1) TCP packet and incompleted TCP header (IP payload less tahn MIN_TCP_HDR_SIZE)   
             2) Fragmented TCP packet (IP fragment offset = 1) " 
        SYNTAX          INTEGER {
                        unknown(0),
                        tcpHdrLessSize(1),
                        tcpFragmented(2)
                    }

-- anomaly traps

     extremeIpSecurityAnomalyTraps     OBJECT IDENTIFIER
         ::= { extremeIpSecurity 2 }

     extremeIpSecurityAnomalyTrapsPrefix     OBJECT IDENTIFIER
         ::= { extremeIpSecurityAnomalyTraps 0 }


-- anomaly ip address traps

     extremeIpSecurityAnomalyIpViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalyIpProto} 
        STATUS      current
        DESCRIPTION
            "For ports on which the protocol anomaly protection IP 
            features has been enabled, this trap will be generated when a packet 
            received on that port if the packet's source IP == destination IP" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix  1 }


-- anomaly L4port traps

     extremeIpSecurityAnomalyL4PortViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalyIpProto,
                  esAnomalySrcL4Port,
                  esAnomalyDestL4Port} 
        STATUS    current
        DESCRIPTION
            "For ports on which the protocol anomaly protection L4port 
            features has been enabled, this trap will be generated when a packet 
            received on that port if 
            1) the packet is a TCP or UDP packetr.  AND 
            2) its source L4 port == destination port" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix 2 }


-- anomaly TCP flags trap 

     extremeIpSecurityAnomalyTcpFlagViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalySrcL4Port,
                  esAnomalyDestL4Port,
                  esAnomalyTcpFlagReason,
                  esAnomalyTcpFlag,
                  esAnomalyTcpSeq} 
        STATUS    current
        DESCRIPTION
            "For ports on which the protocol anomaly protection TCP flags 
            features has been enabled, this trap will be generated when a TCP 
            packet received on that port if 
            1) (TCP flag SYN is set) and (its TCP source port < 1024). OR   
            2) (TCP flag == 0) and (TCP seq # == 0). OR   
            3) (TCP flag FIN/URG/PSH bits sre set) and (TCP seq # == 0). OR   
            4) Both TCP iflag SYN and FIN are set" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix  3 }


-- anomaly fragmented TCP trap 

     extremeIpSecurityAnomalyTcpFragmentViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalyTcpFragmentReason,
                  esAnomalyTcpHdrSize}
        STATUS    current
        DESCRIPTION
            "For ports on which the protocol anomaly protection TCP fragment 
            features has been enabled, this trap will be generated when a packet 
            received on that port if 
            1) the packet is a TCP, and its size of the TCP header is less than pre-configured value; or
            2) the packet is a TCP and it is a IP fragmented packet (IP offset != 0)" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix  4 }


-- anomaly ICMP trap 

     extremeIpSecurityAnomalyIcmpViolation NOTIFICATION-TYPE
        OBJECTS { esAnomalyPortIfIndex, 
                  esAnomalyVlanIfIndex,
                  esAnomalyVlanDescr,
                  esAnomalySrcMacAddress,
                  esAnomalyDestMacAddress,
                  esAnomalyVlanTag,
                  esAnomalySrcIpAddrType,
                  esAnomalySrcIpAddr,
                  esAnomalyDestIpAddrType,
                  esAnomalyDestIpAddr,
                  esAnomalyIcmpReason}
        STATUS    current
        DESCRIPTION
            "For ports on which the protocol anomaly protection ICMP 
            features has been enabled, this trap will be generated when an ICMP 
            packet received on that port if 
            1) the size of ICMP (IP payload) is large thant pre-configured value; or   
            2) it is a fragmented IP/ICMP packet (IP offset != 0)" 
        ::= { extremeIpSecurityAnomalyTrapsPrefix  5 }


-- internal objects

     esAnomalyPortIfIndex  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The ifIndex of the port on which the violating packet was received."
        ::= { extremeIpSecurityAnomalyTraps  1 }

     esAnomalyVlanIfIndex OBJECT-TYPE 
         SYNTAX Integer32
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The ifIndex of the VLAN on which the violating packet was received."
         ::= { extremeIpSecurityAnomalyTraps  2 }

     esAnomalyVlanDescr OBJECT-TYPE
         SYNTAX DisplayString (SIZE(0..32))
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The description(name) of the VLAN on which the violating packet was received."
         ::= { extremeIpSecurityAnomalyTraps  3 }

     esAnomalySrcMacAddress OBJECT-TYPE
         SYNTAX MacAddress
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "Source MAC address in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  4 }

     esAnomalyDestMacAddress OBJECT-TYPE
         SYNTAX MacAddress
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "Destination MAC address in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  5 }

     esAnomalySrcIpAddrType OBJECT-TYPE
         SYNTAX InetAddressType 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "source IP address type: ipv4 or ipv6"
         ::= { extremeIpSecurityAnomalyTraps  6 }

     esAnomalySrcIpAddr OBJECT-TYPE
         SYNTAX InetAddress 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "source IP address in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  7 }

     esAnomalyDestIpAddrType OBJECT-TYPE
         SYNTAX InetAddressType 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "destination IP address type: ipv4 or ipv6"
         ::= { extremeIpSecurityAnomalyTraps  8 }

     esAnomalyDestIpAddr OBJECT-TYPE
         SYNTAX InetAddress 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "destination IP address in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  9 }

     esAnomalyIpProto OBJECT-TYPE
         SYNTAX IpProtocol 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "IP protocol in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  10 }

     esAnomalySrcL4Port OBJECT-TYPE
         SYNTAX InetPortNumber 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "tcp/udp source port number in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  11 }

     esAnomalyDestL4Port OBJECT-TYPE
         SYNTAX InetPortNumber 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "tcp/udp destination port in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  12 }


     esAnomalyTcpFlag OBJECT-TYPE
         SYNTAX       HexOctet 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP flags in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  13 }

     esAnomalyTcpSeq OBJECT-TYPE
         SYNTAX       Integer32 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP sequence number in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  14 }

     esAnomalyTcpHdrSize OBJECT-TYPE
         SYNTAX       Integer32 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP Header size in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  15 }

     esAnomalyTcpFlagReason OBJECT-TYPE
         SYNTAX       TcpFlagAnomalyReason 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP flag anomaly reason code"
         ::= { extremeIpSecurityAnomalyTraps  16 }

     esAnomalyIcmpReason OBJECT-TYPE
         SYNTAX       IcmpAnomalyReason 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "ICMP anomaly reason code"
         ::= { extremeIpSecurityAnomalyTraps  17 }

     esAnomalyVlanTag OBJECT-TYPE
         SYNTAX       VlanTag 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "the vlan tag in the violating packet"
         ::= { extremeIpSecurityAnomalyTraps  18 }


     esAnomalyTcpFragmentReason OBJECT-TYPE
         SYNTAX       TcpFragmentAnomalyReason 
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "TCP fragment anomaly reason code"
         ::= { extremeIpSecurityAnomalyTraps  19 }

END

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

EXTREME-EAPS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
		OBJECT-TYPE             FROM SNMPv2-SMI
                Unsigned32              FROM SNMPv2-SMI
                TEXTUAL-CONVENTION      FROM SNMPv2-TC
                TruthValue              FROM SNMPv2-TC
                RowStatus               FROM SNMPv2-TC
                DisplayString           FROM RFC1213-MIB
                extremeAgent            FROM EXTREME-BASE-MIB;

    extremeEaps MODULE-IDENTITY
        LAST-UPDATED "0502151530Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Ethernet Automatic Protection Switching information."  
        ::= { extremeAgent 18 }


    EapsDomainMode
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "Indicates the configured mode of an EAPS domain."
        SYNTAX      INTEGER { invalid (0),
                              master  (1),
                              transit (2)
                            }

    EapsMbrVlanType
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "Indicates the type of vlan, whether it is control or
                     protected vlan, that is being added to the
                     EAPS domain."
        SYNTAX      INTEGER { unassigned (0),
                              control    (1),
                              protected  (2)
                            }

    EapsRingPort
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "This represents an EAPS ring-port."
        SYNTAX      INTEGER (0..2147483647)

    EapsPortType
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "Indicates the ring port of the EAPS domains. The ring port
                     can be primary or secondary. This is used to specify which
                     port is being unconfigured."
        SYNTAX      INTEGER {
                              primary    (1),
                              secondary  (2)
                            }

    EapsDomainState
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational state of an EAPS domain.  
                    The states complete(1), failed(2), init(6), precomplete(7),
                    and preinit(8) apply only to domains configured as master.
                    The states linksup(3), linkdown(4) and preforwarding(5) 
                    apply only to domains configured as transit.  
                    The state init(0) applys to domains configured as either 
                    master or transit."
        SYNTAX      INTEGER { idle          (0),
                              complete      (1),
                              failed        (2),
                              linksup       (3),
                              linkdown      (4),
                              preforwarding (5),
                              init          (6),
                              precomplete   (7),
                              preinit       (8)
                            }

    EapsDomainPortStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational state of an EAPS domain's ring-ports.
                    If the state is unknown (0), it indicates the domain is
                    still not up yet.
                    The valid states are up(1), down(2), blocked(3)."
        SYNTAX      INTEGER { 
                              unknown     (0),
                              up          (1),
                              down        (2),
                              blocked     (3)
                            }

    EapsFailTimerExpiryAction
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The action to take when the failed timer expires.

                     If action is configured to sendAlert(0), and the 
                     fail expires, the Master will remain in Complete or Init
                     state, and a trap - extremeEapsFailTimerExpFlagSet - will 
                     be sent. 
                     When this fail timer stops expiring another trap -
                     extremeEapsFailTimerExpFlagClear - will be sent.

                     If the action is configured to openSecondaryPort(1), and 
                     the fail timer expires, the Master's state will be set to
                     Failed, and it will open the secondary port."
        SYNTAX      INTEGER { sendAlert         (0),
                              openSecondaryPort (1)
                            }

    EapsSharedPortState
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational state of an EAPS Shared-Port instance.  
                    The states are idle(0), ready(1), blocking(2), and
                    preforwarding(3)."
        SYNTAX      INTEGER { idle          (0),
                              ready         (1),
                              blocking      (2),
                              preforwarding (3)
                            }


    EapsSharedPortMode
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "If the mode is unconfigured(0), it indicates the EAPS 
                     shared port's mode has yet to be configured.
                     The valid configured modes of an EAPS Shared-port are
                     controller(1) and partner(2)"
        SYNTAX      INTEGER { 
                              unconfigured  (0),
                              controller    (1),
                              partner       (2)
                            }

    EapsSharedPortSegmentTimerExpiryAction
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The action to take when the EAPS Shared-port's segment 
                     timer expires.

                     If action is configured to sendAlert(0), and the 
                     segment timer expires, the segment's status will remain
                     in Up state, and  a trap -
                     extremeEapsSegmentTimerExpFlagSet - will be sent. 
                     When this segment timer stops expiring another trap -
                     extremeEapsSegmentTimerExpFlagClear - will be sent.

                     If the action is configured to segmentDown(1), and the
                     segment timer expires, the segment's status will be set to
                     Down."
        SYNTAX      INTEGER { sendAlert   (0),
                              segmentDown (1)
                            }

    EapsSharedPortNeighborStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational status of an EAPS Shared-port's neighbor
                    reachabilty.
                    The states are neighborDown(0), neighborUp(1), and
                    neighborError(2)."
        SYNTAX      INTEGER { neighborDown         (0),
                              neighborUp           (1),
                              neighborError        (2)
                            }

    EapsSharedPortRootBlockerStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational status of an EAPS Shared-port's Root- 
                    Blocker.
                    The states are false(0), active(1), and inactive(2)."
        SYNTAX      INTEGER { false         (0),
                              active        (1),
                              inactive      (2)
                            }

    EapsSharedPortSegmentStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational status of an EAPS Shared-port's segments.
                    The states are unknown(0), segUp(1), segDown(2), 
                    segBlockingUp(3) and segBlockingDown(4)."
        SYNTAX      INTEGER { unknown          (0),
                              segUp            (1),
                              segDown          (2),
                              segBlockingUp    (3),
                              segBlockingDown  (4)
                            }

    EapsSharedPortVlanPortStatus
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "The operational status of an EAPS Shared-port's vlan-port.
                    The states are unknown(0), activeOpen(1), blocked(2), 
                    open(3) and down(4)."
        SYNTAX      INTEGER { unknown          (0),
                              activeOpen       (1),
                              blocked          (2),
                              open             (3),
                              down             (4)
                            }

    EapsDomainPriority
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "Indicates the configured priority of an EAPS domain."
        SYNTAX      INTEGER { normal (0),
                              high   (1)
                            }

    extremeEapsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeEapsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
	        "This table contains EAPS information about all EAPS
                 domains on this device."
        ::= { extremeEaps 1 }


    extremeEapsEntry OBJECT-TYPE
        SYNTAX ExtremeEapsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An individual entry of this table contains EAPS 
                 information related to that EAPS domain."
        INDEX { extremeEapsName }
        ::= { extremeEapsTable 1 }

    ExtremeEapsEntry ::= SEQUENCE {
        extremeEapsName                     DisplayString,
        extremeEapsMode                     EapsDomainMode,
        extremeEapsState                    EapsDomainState,
        extremeEapsFailedFlag               TruthValue,
        extremeEapsEnabled                  TruthValue,
        extremeEapsPrimaryPort              EapsRingPort,
        extremeEapsSecondaryPort            EapsRingPort,
        extremeEapsHelloTimer               INTEGER,
        extremeEapsHelloTimerMs             INTEGER,
        extremeEapsFailedTimer              INTEGER,
        extremeEapsFailedTimerExpiryAction  EapsFailTimerExpiryAction,
        extremeEapsUnconfigRingPort         EapsPortType,
        extremeEapsPrimaryStatus            EapsDomainPortStatus,
        extremeEapsSecondaryStatus          EapsDomainPortStatus,
        extremeEapsProtectedVlansCount      INTEGER,
        extremeEapsPriority                 EapsDomainPriority,
        extremeEapsRowStatus                RowStatus
    }

    extremeEapsName  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..32))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The EAPS domain name."
        ::= { extremeEapsEntry 1 }

    extremeEapsMode OBJECT-TYPE
        SYNTAX      EapsDomainMode
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the mode of the EAPS domain."
        ::= { extremeEapsEntry 2 }

    extremeEapsState OBJECT-TYPE
        SYNTAX      EapsDomainState
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the current EAPS state of this EAPS 
                    domain."
        ::= { extremeEapsEntry 3 }

    extremeEapsFailedFlag OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the status of the failed flag.
                    If the failed timer expires while its expiry action is 
                    configured to sendAlert, this failed flag is set.
                    It is then cleared when the failed timer stops expiring, or
                    the expiry action is configured to openSecondaryPort."
        ::= { extremeEapsEntry 4 }

    extremeEapsEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicated if this domain has been enabled or not."
        ::= { extremeEapsEntry 5 }

    extremeEapsPrimaryPort OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the EAPS domain's primary ring-port.
                     Value of 0 indicates the primary port is still not 
                     configured"
        ::= { extremeEapsEntry 6 }

    extremeEapsSecondaryPort OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the EAPS domain's secondary ring-port.
                     Value of 0 indicates the secondary port is still not
                     configured"
        ::= { extremeEapsEntry 7 }

    extremeEapsHelloTimer OBJECT-TYPE
        SYNTAX      INTEGER (0..15)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the EAPS domain's hello timer's value
                     in seconds."
        ::= { extremeEapsEntry 8 }

    extremeEapsFailedTimer OBJECT-TYPE
        SYNTAX      INTEGER (2..300)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the EAPS domain's failed timer's value
                     in seconds."
        ::= { extremeEapsEntry 9 }

    extremeEapsFailedTimerExpiryAction OBJECT-TYPE
        SYNTAX      EapsFailTimerExpiryAction
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the action taken by the domain when the
                     fail timer expires. 
                     If the action is to sendAlert, then a SNMP trap -
                     extremeEapsFailTimerExpFlagSet - will be sent, and the
                     secondary port will continue to remain in blocking state.
                     If the action is to openSecondaryPort, then the secondary
                     port will open and be set to forwarding state."
        ::= { extremeEapsEntry 10 }

    extremeEapsUnconfigRingPort OBJECT-TYPE
        SYNTAX      EapsPortType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This specifies which EAPS domain port is being
                     unconfigured.
                     Value of 1, indicates unconfigure the primary port.
                     Value of 2, indicates unconfigure secondary port."
        ::= { extremeEapsEntry 11 }

    extremeEapsPrimaryStatus OBJECT-TYPE
        SYNTAX      EapsDomainPortStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the status of the EAPS domain's primary
                     ring-port."
        ::= { extremeEapsEntry 12 }

    extremeEapsSecondaryStatus OBJECT-TYPE
        SYNTAX      EapsDomainPortStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the status of the EAPS domain's secondary
                     ring-port."
        ::= { extremeEapsEntry 13 }

    extremeEapsProtectedVlansCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This gives the count of the number of vlans that are 
                     being protected by this EAPS domain."
        ::= { extremeEapsEntry 14 }

    extremeEapsRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The status of this entry as per standard RowStatus 
                     conventions."
        ::= { extremeEapsEntry 15 }

    extremeEapsHelloTimerMs OBJECT-TYPE
        SYNTAX      INTEGER (100..900)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the milliseconds portion of the EAPS domain's hello timer value
                     in milliseconds."
        ::= { extremeEapsEntry 16 }


    extremeEapsPriority OBJECT-TYPE
        SYNTAX      EapsDomainPriority
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This gives the priority of the domain. Used along with spatial re-use to prioritize
                     handling of domains during a topology change."
        ::= { extremeEapsEntry 17 }

    extremeEapsPrevState OBJECT-TYPE
        SYNTAX      EapsDomainState
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "This indicates the previous EAPS state of this EAPS 
                     domain. Used in state change traps information."
       ::= { extremeEaps 2 }


    extremeEapsGlobalInfo OBJECT IDENTIFIER
        ::= { extremeEaps 3 }
        
    extremeEapsGlobalEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates if EAPS is enabled globally on the switch."
        ::= { extremeEapsGlobalInfo 1 }

    extremeEapsGlobalFastConvergence OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates if Fast Convergence is enabled globally on the 
                     switch."
        ::= { extremeEapsGlobalInfo 2 }

    extremeEapsLastConfigurationChange OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the last time there was any change in 
                     EAPS configuration on the switch."
        ::= { extremeEapsGlobalInfo 3 }


    extremeEapsLastStatusChange OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the last time there was any change in 
                     EAPS domain, EAPS port, shared port, or segment status on
                     the switch.  Time changes for extremeEapsState, 
                     extremeEapsSharedPortState, extremeEapsSharedPortSegmentStatus,
                     extremeEapsFailedFlag, extremeEapsPrimaryStatus, 
                     extremeEapsSecondaryStatus, extremeEapsSharedPortNbrStatus,
	             extremeEapsSharedPortRootBlockerStatus, 
                     extremeEapsSharedPortSegmentFlagFailed."
        ::= { extremeEapsGlobalInfo 4 }

    extremeEapsStatusTrapCount OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the number of status traps sent out since the switch
                     booted.  Status traps counted include
		     extremeEapsSharedPortStateChange
		     extremeEapsRootBlockerStatusChange
		     extremeEapsPortStatusChange
		     extremeEapsStateChange
		     extremeEapsFailTimerExpFlagSet
		     extremeEapsFailTimerExpFlagClear."
        ::= { extremeEapsGlobalInfo 5 }
	
    extremeEapsGlobalMulticastAddRingPorts OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Ring ports are added to existing multicast groups for protected
                     vlans on a topology change event."
      
        ::= { extremeEapsGlobalInfo 6 }

    extremeEapsGlobalMulticastSendIGMPQuery OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IGMP Query is sent out on all protected vlans on a topology change 
                     event."
        ::= { extremeEapsGlobalInfo 7 }

    extremeEapsGlobalMulticastTempFlooding OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Temporary Multicast flooding occurs on all protected vlans on a 
                     topology change event."
        ::= { extremeEapsGlobalInfo 8 }

    extremeEapsGlobalMulticastTempFloodingDuration OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The duration at which temporary Multicast flooding will occur."
        ::= { extremeEapsGlobalInfo 9 }

    extremeEapsMbrVlanTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsMbrVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains the control and all protected vlans 
                     added to each EAPS domain on this device.
                     There can be only 1 control vlan, while many
                     protected vlans added to a EAPS domain."
        ::= { extremeEaps 4 }

    extremeEapsMbrVlanEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsMbrVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table correlates a EAPS
                    domain with a VLAN added to it and its type whether it is
                    control or protected."
        INDEX       { extremeEapsName,
                      extremeEapsMbrVlanName,
                      extremeEapsMbrVlanType
                    }
        ::= { extremeEapsMbrVlanTable 1 }

    ExtremeEapsMbrVlanEntry ::= SEQUENCE { 
        extremeEapsMbrVlanName    DisplayString,
        extremeEapsMbrVlanType    EapsMbrVlanType,
        extremeEapsMbrVlanTag     INTEGER,
        extremeEapsMbrVlanRowStatus RowStatus
    }

    extremeEapsMbrVlanName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The member VLAN's name."
        ::= { extremeEapsMbrVlanEntry 1 }

    extremeEapsMbrVlanType OBJECT-TYPE
        SYNTAX      EapsMbrVlanType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The member VLAN's type whether it is control or 
                     protected."
        ::= { extremeEapsMbrVlanEntry 2 }

    extremeEapsMbrVlanTag OBJECT-TYPE
        SYNTAX      INTEGER (1..4095)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The member VLAN's Vlan Id tag."
        ::= { extremeEapsMbrVlanEntry 3 }

    extremeEapsMbrVlanRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The status of this entry as per standard RowStatus
                     conventions."
        ::= { extremeEapsMbrVlanEntry 4 }


    extremeEapsSharedPortTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsSharedPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains all EAPS shared ports configured 
                    on this device."
        ::= { extremeEaps 5 }

    extremeEapsSharedPortEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsSharedPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table describes the 
                    configuration of an EAPS shared port."
        INDEX       { extremeEapsSharedPortIfIndex }
        ::= { extremeEapsSharedPortTable 1 }

    ExtremeEapsSharedPortEntry ::= SEQUENCE { 
        extremeEapsSharedPortIfIndex   EapsRingPort,
        extremeEapsSharedPortMode      EapsSharedPortMode,
        extremeEapsSharedPortLinkId    INTEGER,
        extremeEapsSharedPortSegmentTimerExpiryAction    EapsSharedPortSegmentTimerExpiryAction,
        extremeEapsSharedPortState                       EapsSharedPortState,
        extremeEapsSharedPortNbrStatus                   EapsSharedPortNeighborStatus,
        extremeEapsSharedPortDomainsCount                INTEGER,
        extremeEapsSharedPortProtectedVlansCount         INTEGER,
        extremeEapsSharedPortRootBlockerStatus           EapsSharedPortRootBlockerStatus,
        extremeEapsSharedPortRootBlockerId               INTEGER,
        extremeEapsSharedPortRowStatus                   RowStatus,
        extremeEapsSharedPortSegmentHealthInterval       INTEGER,
        extremeEapsSharedPortSegmentTimeout              INTEGER,	
        extremeEapsSharedPortCommonPathFailedFlag        TruthValue,
        extremeEapsSharedPortCommonPathHealthInterval    INTEGER,
        extremeEapsSharedPortCommonPathTimeout           INTEGER
    }

    extremeEapsSharedPortIfIndex OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The ifIndex of a port configured as an EAPS shared port."
        ::= { extremeEapsSharedPortEntry 1 }

    extremeEapsSharedPortMode OBJECT-TYPE
        SYNTAX      EapsSharedPortMode
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The configured mode of the EAPS shared port."
        ::= { extremeEapsSharedPortEntry 2 }

    extremeEapsSharedPortLinkId OBJECT-TYPE
        SYNTAX      INTEGER (0..65534)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The configured Link Id for the EAPS shared port.
                     Each common link in the entire network will be assigned a
                     unique link Id. Each shared-port instance on either end
                     of this common link will be configured with this 
                     link Id.
                     Value of 0 indicates the link Id is still not configured."
        ::= { extremeEapsSharedPortEntry 3 }

    extremeEapsSharedPortSegmentTimerExpiryAction OBJECT-TYPE
        SYNTAX      EapsSharedPortSegmentTimerExpiryAction
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This indicates the action taken by the EAPS Shared port
                     instance when a segment timer expires. 
                     If the action is sendAlert, then when the segment timer
                     expires, an SNMP trap will be sent, and the segment will
                     remain in Up state, with the failed flag set to True.
                     If the action is segmentDown, then when the timer expires,
                     the segment will be set to Down state."
        ::= { extremeEapsSharedPortEntry 4 }

    extremeEapsSharedPortState OBJECT-TYPE
        SYNTAX      EapsSharedPortState
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the state of the EAPS Shared port instance.
                    The states can be idle(0), ready(1), blocking(2), and
                    preforwarding(3)."
        ::= { extremeEapsSharedPortEntry 5 }

    extremeEapsSharedPortNbrStatus OBJECT-TYPE
        SYNTAX      EapsSharedPortNeighborStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This indicates the status of reachabilty to the neighbor
                     on the other end of the Shared-segment. 
                     If the neighbor on the other end is reachable with 
                     matching link-id and different modes, then the status is 
                     NeighborUp.
                     If the neighbor is not reachable, this status is 
                     NeighborDown.
                     If the neighbor is reachable, but with the same mode,
                     then this status is set to Error."
        ::= { extremeEapsSharedPortEntry 6 }

    extremeEapsSharedPortDomainsCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This gives the count of the number of EAPS domains that
                     are sharing this shared-port."
        ::= { extremeEapsSharedPortEntry 7 }

    extremeEapsSharedPortProtectedVlansCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This gives the count of the number of vlans that are 
                     being protected by this shared-port instance."
        ::= { extremeEapsSharedPortEntry 8 }
                   
    extremeEapsSharedPortRootBlockerStatus OBJECT-TYPE
        SYNTAX      EapsSharedPortRootBlockerStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "If this shared port instance is not in Root blocker state,
                     the status is False.
                     If the shared port is in Root blocker state, and its 
                     path detect message is being returned to it, it is in 
                     Active state.
                     If the shared port is in Root blocker state, but its
                     path detect message is not making it back to itself, then
                     its root blocker status is Inactive."
        ::= { extremeEapsSharedPortEntry 9 }

    extremeEapsSharedPortRootBlockerId OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is the Link Id of the Root Blocker in the entire
                     network.
                     If there is no root blocker in the network, this value
                     is 65535."
        ::= { extremeEapsSharedPortEntry 10 }

    extremeEapsSharedPortRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The status of this entry as per standard RowStatus 
                     conventions."
        ::= { extremeEapsSharedPortEntry 11 }


    extremeEapsSharedPortSegmentHealthInterval OBJECT-TYPE
        SYNTAX      INTEGER (0..15)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Interval at which health check PDUs are sent out each segment port."
        ::= { extremeEapsSharedPortEntry 12 }


    extremeEapsSharedPortSegmentTimeout OBJECT-TYPE
        SYNTAX      INTEGER (3..30)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION  "Time in seconds where segment fail timer expires, fail flag is set, and
                      expiry action is taken."
        ::= { extremeEapsSharedPortEntry 13 }

    extremeEapsSharedPortCommonPathFailedFlag OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Shared port link fail timer expired, but our shared port link is up."
        ::= { extremeEapsSharedPortEntry 14 }

    extremeEapsSharedPortCommonPathHealthInterval OBJECT-TYPE
        SYNTAX      INTEGER (1..10)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Interval at which health check PDUs are sent out shared port."
        ::= { extremeEapsSharedPortEntry 15 }

    extremeEapsSharedPortCommonPathTimeout OBJECT-TYPE
        SYNTAX      INTEGER (3..30)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION  "Time in seconds where shared link fail timer expires and fail flag is set"
        ::= { extremeEapsSharedPortEntry 16 }





    extremeEapsSharedPortSegmentTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsSharedPortSegmentEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains the EAPS shared port's segments 
                     information"
        ::= { extremeEaps 6 }

    extremeEapsSharedPortSegmentEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsSharedPortSegmentEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table describes the EAPS
                     shared port's segment information. It will describe the
                     EAPS domain, the segment's status, and other information
                     related to neighboring node's blocking status."
        INDEX       { extremeEapsSharedPortIfIndex,
                      extremeEapsSharedPortSegmentPort,
                      extremeEapsName
                    }
        ::= { extremeEapsSharedPortSegmentTable 1 }

    ExtremeEapsSharedPortSegmentEntry ::= SEQUENCE { 
        extremeEapsSharedPortSegmentPort           EapsRingPort,
        extremeEapsSharedPortSegmentStatus         EapsSharedPortSegmentStatus,
        extremeEapsSharedPortSegmentFailedFlag     TruthValue,
        extremeEapsSharedPortSegmentVlanPortCount  INTEGER,
        extremeEapsSharedPortSegmentAdjId          INTEGER,
        extremeEapsSharedPortSegmentRBD            INTEGER
    }

    extremeEapsSharedPortSegmentPort OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The segment port on a segment which is part of an EAPS 
                     shared port."
        ::= { extremeEapsSharedPortSegmentEntry 1 }

    extremeEapsSharedPortSegmentStatus OBJECT-TYPE
        SYNTAX      EapsSharedPortSegmentStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The status of a segment port which is part of an EAPS 
                     shared port."
        ::= { extremeEapsSharedPortSegmentEntry 2 }

    extremeEapsSharedPortSegmentFailedFlag OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The status of the failed flag on a segment port which is 
                     part of an EAPS shared port.
                     This flag will be set to TRUE if the segment's fail timer
                     expiry action is set to sendAlert, and this timer expires"
        ::= { extremeEapsSharedPortSegmentEntry 3 }

    extremeEapsSharedPortSegmentVlanPortCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The count of vlan ports being protected under this 
                     segment's EAPS domain."
        ::= { extremeEapsSharedPortSegmentEntry 4 }

    extremeEapsSharedPortSegmentAdjId OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The link Id of a neighboring node if the neighbor's 
                     shared port instance was in blocking state."
        ::= { extremeEapsSharedPortSegmentEntry 5 }

    extremeEapsSharedPortSegmentRBD OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The Root Blocker Id as determined by the neighboring 
                     node's shared port instance."
        ::= { extremeEapsSharedPortSegmentEntry 6 }


    extremeEapsSharedPortVlanTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsSharedPortVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains all VLANs protected by the EAPS 
                     Shared Port instance."
        ::= { extremeEaps 7 }

    extremeEapsSharedPortVlanEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsSharedPortVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table correlates a EAPS
                    Shared port instance with a VLAN protected by it."
        INDEX       { extremeEapsSharedPortIfIndex,
                      extremeEapsSharedPortVlanName
                    }
        ::= { extremeEapsSharedPortVlanTable 1 }

    ExtremeEapsSharedPortVlanEntry ::= SEQUENCE {
        extremeEapsSharedPortVlanName           DisplayString,
        extremeEapsSharedPortVlanPortCount      INTEGER,
        extremeEapsSharedPortVlanActiveOpenPort EapsRingPort
    }

    extremeEapsSharedPortVlanName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The vlan being protected under this EAPS Shared port
                     instance"
        ::= { extremeEapsSharedPortVlanEntry 1 }

    extremeEapsSharedPortVlanPortCount OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The count of vlan ports being protected under this
                     vlan"
        ::= { extremeEapsSharedPortVlanEntry 2 }

    extremeEapsSharedPortVlanActiveOpenPort OBJECT-TYPE
        SYNTAX      EapsRingPort
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Segment port that is Active Open.
                     If there is no Active open port, then this value is 0."
        ::= { extremeEapsSharedPortVlanEntry 3 }

    extremeEapsSharedPortVlanPortTable OBJECT-TYPE    
        SYNTAX      SEQUENCE OF ExtremeEapsSharedPortVlanPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table contains the EAPS shared port's vlan-port's 
                     information"
        ::= { extremeEaps 8 }

    extremeEapsSharedPortVlanPortEntry OBJECT-TYPE
        SYNTAX      ExtremeEapsSharedPortVlanPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An individual entry of this table describes the EAPS
                     shared port's vlan port information. It will describe the
                     status of the vlan port under its protection."
        INDEX       { extremeEapsSharedPortIfIndex,
                      extremeEapsSharedPortVlanName,
                      extremeEapsSharedPortSegmentPort,
                      extremeEapsName
                    }
        ::= { extremeEapsSharedPortVlanPortTable 1 }

    ExtremeEapsSharedPortVlanPortEntry ::= SEQUENCE { 
        extremeEapsSharedPortVlanPortStatus    EapsSharedPortVlanPortStatus
    }

    extremeEapsSharedPortVlanPortStatus OBJECT-TYPE
        SYNTAX      EapsSharedPortVlanPortStatus
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The status of a vlan port which is getting protected
                     by an EAPS shared port."
        ::= { extremeEapsSharedPortVlanPortEntry 1 }

END
-- ################################################################################

EXTREME-ERPS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                MODULE-COMPLIANCE       FROM SNMPv2-CONF
                OBJECT-GROUP            FROM SNMPv2-CONF
		        OBJECT-TYPE             FROM SNMPv2-SMI
                NOTIFICATION-GROUP      FROM SNMPv2-CONF
                NOTIFICATION-TYPE       FROM SNMPv2-SMI
                Integer32               FROM SNMPv2-SMI
                Counter32               FROM SNMPv2-SMI
                InterfaceIndex          FROM IF-MIB
                InterfaceIndexOrZero    FROM IF-MIB
                DisplayString           FROM SNMPv2-TC
                RowStatus               FROM SNMPv2-TC
                TEXTUAL-CONVENTION      FROM SNMPv2-TC
                TruthValue              FROM SNMPv2-TC
                VlanId                  FROM Q-BRIDGE-MIB  -- [RFC4363]
                extremeAgent            FROM EXTREME-BASE-MIB;

    extremeErps MODULE-IDENTITY
        LAST-UPDATED "201505150000Z" -- May 15,2015
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Ethernet Ring Protection Switching information. This
                     MIB provides a set of known, standard setting to get
                     the information on protected Vlan entries per ERPS doamin,
                     ERPS rign information, the configration information related
                     to the monitoring entries of the rign entry, ERPS ring stats,
                     ERPS global information, and ERPS notification."

        REVISION     "201505150000Z" -- May 15, 2015
        DESCRIPTION "The initial version of EXTREME-ERPS-MIB"               
        ::= { extremeAgent 46 }

-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------
RingMonitorMechanismType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Object represents the type of monitoring mechanism used to monitor 
         a Ring Entry. The value can be one of the following: 

         cfm(1)        Using Connectivity Fault Management via OAM functions 
                       and mechanisms for Ethernet based networks (ITU-T 
                       Y.1731)
         reserved(x)   Reserved for other monitoring mechanisms for future use" 
    SYNTAX      INTEGER { cfm(1) }

VlanType
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "Indicates the type of vlan, whether it is control or
                     protected vlan, that is being added to the
                     ERPS domain."
        SYNTAX      INTEGER { unassigned (0),
                              control    (1),
                              protected  (2)
                            }
-- -------------------------------------------------------------
-- Notifications
-- -------------------------------------------------------------
extremeErpsNotifications OBJECT IDENTIFIER ::= { extremeErps 0 }

-- -------------------------------------------------------------
-- extremeErpsProtectedVlanTable
-- -------------------------------------------------------------
extremeErpsProtectedVlanTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ExtremeErpsProtectedVlanEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
      "This table contains the grouping of set of protected vlans.
      By default a group with GroupId 64 will be created and all vlans
      will get mapped to it."
   ::= { extremeErps 1 }

extremeErpsProtectedVlanEntry OBJECT-TYPE
   SYNTAX      ExtremeErpsProtectedVlanEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This entry contains vlan id and group id related to ERPS domain."
   INDEX { extremeErpsRingName,  extremeErpsProtectedVlanName }
   ::= { extremeErpsProtectedVlanTable 1 }

ExtremeErpsProtectedVlanEntry::= SEQUENCE {
    extremeErpsProtectedVlanName           DisplayString,
    extremeErpsProtectedVlanId             VlanId,
    extremeErpsProtectedVlanRowStatus      RowStatus
}    

extremeErpsProtectedVlanName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
      "The member Protected VLAN's name."
    ::= { extremeErpsProtectedVlanEntry 1 }

extremeErpsProtectedVlanId OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "This is the Protected vlan id which is mapped to this group."
   ::= { extremeErpsProtectedVlanEntry 2 }

extremeErpsProtectedVlanRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
      "The status of this entry as per standard RowStatus conventions."
   ::= { extremeErpsProtectedVlanEntry 3}

-- -------------------------------------------------------------
-- extremeErpsRingTable
-- -------------------------------------------------------------
extremeErpsRingTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ExtremeErpsRingEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
      " The table for creating and configuring the ring entries. Each entry 
       has information about one ring in the switch."
   ::= { extremeErps 2 }

extremeErpsRingEntry OBJECT-TYPE
   SYNTAX      ExtremeErpsRingEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The ring table entry, each entry in this table contains the attributes
       which define a ring."
   INDEX { extremeErpsRingName }
   ::= { extremeErpsRingTable 1 }
      
ExtremeErpsRingEntry ::= SEQUENCE {
      extremeErpsRingName                        DisplayString,
      extremeErpsRingVlanId                      VlanId,
      extremeErpsRingEast                        InterfaceIndex,
      extremeErpsRingWest                        InterfaceIndexOrZero,
      extremeErpsRingRplPort                     InterfaceIndexOrZero,
      extremeErpsRingPortBlockingOnVcRecovery    TruthValue,
      extremeErpsRingNodeType                    INTEGER,
      extremeErpsRingOperatingMode               INTEGER, 
      extremeErpsRingMonitorMechanism            RingMonitorMechanismType,
      extremeErpsRingEastStatus                  INTEGER,
      extremeErpsRingWestStatus                  INTEGER,
      extremeErpsRingSemState                    INTEGER,
      extremeErpsRingNodeStatus                  BITS,
      extremeErpsRingRplNeighbourPort            InterfaceIndexOrZero, 
      extremeErpsRingProtectionType              INTEGER,
      extremeRingCfmGroup1                       DisplayString,
      extremeRingCfmGroup2                       DisplayString   
}

extremeErpsRingName  OBJECT-TYPE
    SYNTAX DisplayString (SIZE(1..32))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "The ERPS domain name."
    ::= { extremeErpsRingEntry 1 }

extremeErpsRingVlanId OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "This object identifies the dedicated VLAN Id used by a ring for its 
       R-APS messages communication.  

       It is recommended that the,
         * R-APS VLANs should be used only for ring R-APS message 
           communication  and should not be used for data switching and 
           management purposes.

       It is recommended that R-APS VLAN is created first through the VLAN 
       configuration before making the ring entry active, in order to avoid 
       any loss of R-APS PDU Tx/Rx. 
 
       It is not recommended to use the same R-APS VLAN ID for more than 
       one ring."
   ::= { extremeErpsRingEntry 2 }

extremeErpsRingEast OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "First port of the two ring ports participating in the ring. Any 
      interface with valid interface ID can be configured as a ring port."
   ::= { extremeErpsRingEntry 3 }

extremeErpsRingWest OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "Second port of the two ring ports participating in the ring. Any 
       interface with valid interface ID can be configured as a ring port.
       On the interconnected node of a sub-ring, this port should be 
       configured as zero."
   ::= { extremeErpsRingEntry 4 }

extremeErpsRingRplPort OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "This object identifies the RPL port of the ring. 

       Valid values for this object are '0', 'IfIndex of extremeErpsRingEast' and 
       'IfIndex of extremeErpsRingWest'. 

       When a port is configured as a RPL port,  that node becomes RPL 
       owner for that ring.

       Value '0' indicates that none of the ring ports is a RPL port
       and hence the node is not a RPL owner.

       In an interconnected node of a sub-ring, the 'extremeErpsRingEast' alone 
       can be chosen as an RPL port when administrator decides to have the 
       interconnected node as the RPL Owner of the sub-ring.

       Administrator has to ensure that, only one node in a ring is 
       configured as RPL owner."
   DEFVAL { 0 } 
   ::= { extremeErpsRingEntry 5 }

extremeErpsRingPortBlockingOnVcRecovery OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is applicable for the interconnected nodes of a sub-ring. 
      This configuration helps to avoid the possibility of temporary loops 
      getting formed in the sub-ring during the virtual channel recovery.
      This object should be set to 'true' on only one of the interconnected
      node of the sub-ring. (If 'extremeErpsRingPortBlockingOnVcRecovery' is 
      configured to be 'true' on both the interconnected node of a sub-ring,
      then that sub-ring will be temporary cutoff from the rest of network).
      When this object value is set to 'true',  the fsErpsRingEast of this 
      ring node will be blocked in the event of virtual channel recovery. 
      The extremeErpsRingEast of the sub-ring will be unblocked when the RPL port
      of the sub-ring is blocked and NRRB messages from the RPL Owner is 
      received by this node."
   DEFVAL { false }
   ::= { extremeErpsRingEntry 6 }

extremeErpsRingNodeType OBJECT-TYPE
    SYNTAX      INTEGER {
                        rplOwner(1), 
                        nonRplOwner(2),
                        interConnectionNode(3)
                        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "This object identifies the node state of this ring node. 
       If extremeErpsRingRplPort is configured for a ring node, then that ring
       node becomes 'rplOwner', otherwise the node remains as 'nonRplOwner'."
   ::= { extremeErpsRingEntry 7 }

extremeErpsRingOperatingMode OBJECT-TYPE
   SYNTAX      INTEGER {
                 revertive(1), 
                 nonRevertive(2) 
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object identifies whether the ring is operating in revertive or
       nonRevertive manner.
       In revertive mode of operation, once the failed link recovers, the data
       path will be switched back from protection path to working path.

       In nonRevertive mode of operation, once the failed link recovers, one 
       of the recovered link port will remain in blocked state and the data
       still remains in the protection path. 

       This object can be changed, only when the rowstatus for this ring is 
       not active."
   DEFVAL { revertive }
   ::= { extremeErpsRingEntry 8 }

extremeErpsRingMonitorMechanism OBJECT-TYPE
   SYNTAX      RingMonitorMechanismType
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This object indicates the type of monitoring mechanism used for 
       detecting faults of the ring link. 

       Currently 'cfm' is supported as monitoring mechanism. For 'cfm' 
       monitoring mechanism to monitor the ring ports, appropriate down 
       MEPs on the R-APS VLAN of the ring has to be provisioned through 
       extremeErpsRingCfmTable.
       For sub-rings, a Up & Down MEP on the sub-ring R-APS VLAN needs to
       be installed on fsErpsRingEast of the interconnecting nodes using
       the same extremeErpsRingCfmTable."
   ::= { extremeErpsRingEntry 9 }

extremeErpsRingEastStatus OBJECT-TYPE
   SYNTAX      INTEGER {
                        blocked(1),
                        unblocked(2)
                }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This object indicates ring port1's current status updated by 
      ERPS control process of this ring. 
      If the status is blocked then:
          - Data traffic will be blocked on this port.
          - R-APS messages received on this port will be given to ERPS 
            control process but will not be forwarded.
          - Similarly R-APS messages received at other member ports of
            R-APS VLAN will not be forwarded on this port.
          - Locally regenerated R-APS packets will be transmitted out of
            this port.
      If the status is unblocked then:
          - Data traffic will be unblocked on this port.
          - R-APS messages received on this port will be given to ERPS 
            control process and will be forwarded to R-APS VLAN member ports.
          - Similarly R-APS messages received at other member ports of R-APS
            VLAN can be forwarded on this port."
   ::= { extremeErpsRingEntry 10 }

extremeErpsRingWestStatus OBJECT-TYPE
   SYNTAX      INTEGER {
                        blocked(1),
                        unblocked(2)
                        }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This object indicates ring port2's current status updated by 
      ERPS control process of this ring.
      If the status is blocked then:
          - Data traffic will be blocked on this port.
          - R-APS messages received on this port will be given to ERPS 
            control process but will not be forwarded.
          - Similarly R-APS messages received at other member ports of
            R-APS VLAN will not be forwarded on this port.
          - Locally regenerated R-APS packets will be transmitted out of
            this port.
      If the status is unblocked then:
          - Data traffic will be unblocked on this port.
          - R-APS messages received on this port will be given to ERPS 
            control process and will be forwarded to R-APS VLAN member ports.
          - Similarly R-APS messages received at other member ports of R-APS
            VLAN can be forwarded on this port.
      For sub-rings in interconnected nodes, this object is not valid,
      and get on this object will always return 'unblocked'."
   ::= { extremeErpsRingEntry 11 }

extremeErpsRingSemState OBJECT-TYPE
   SYNTAX      INTEGER {
                        disabled(0),
                        idle(1),
                        protection(2),
                        manualswitch(3),
                        forcedswitch(4),
                        pending(5)
                        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "This object gives the node state as per the  G.8032 state event
       machine. When ring Row status is not active or when ERPS is disabled
       in the virtual context, this object will show 'disabled(0)' status."
   ::= { extremeErpsRingEntry 12 }

extremeErpsRingNodeStatus OBJECT-TYPE
    SYNTAX      BITS {
                signalFailOnEast(0),
                signalFailOnWest(1),
                remoteSignalFailOnEast(2),
                remoteSignalFailOnWest(3),
                rplBlocked(4),
                waitToRestoreTimerRunning(5),
                holdTimerRunning(6),
                guardTimerRunning(7)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      " General attributes giving the current status of the ring by specifying the
       events/status currently present.

         signalFailOnEast(0)          - Signal-failure on Ring Port 1
         signalFailOnWest(1)          - Signal-failure on Ring Port 2
         remoteSignalFailOnEast(2)    - Remote-signal-failure received on Ring Port 1
         remoteSignalFailOnWest(3)    - Remote-signal-failure received on Ring Port 2
         rplBlocked(4)                - Rpl-blocked
         waitToRestoreTimerRunning(5) - Wait-to-restore-timer-running
         holdTimerRunning(6)          - Hold-timer-running
         guardTimerRunning(7)         - Guard-timer-running

      Value 1 of the bit signifies the presence of the event associated with
      that bit and value zero signifies the absence of that event
      For example: If a signal failure is received on Ring port 1 and R-APS(SF)
      is received on port 2, then Bit 1 and 4 will have the value as 1.

      Signal failure on a port represents Port failure indication received from 
      the monitoring entity. This does not depend on hold off timer status. 
      If signal failure is received on ring port 1 and hold-off timer is 
      started, then both signalFailOnEast and holdTimerRunning will have the value as 1."
   ::= { extremeErpsRingEntry 13 }

extremeErpsRingRplNeighbourPort OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "This object identifies the RPL Neighbour port of the ring .
        
       Valid values for this object are '0', 'IfIndex of extremeErpsRingEast' and 
       'IfIndex of extremeErpsRingWest'. 

       When a port is configured as a RPL Neighbour port,  that node becomes RPL 
       Neighbour for that ring. [Reference : Section 10.1 of ITU-T G.8032 Y.1344 (03/2010)] 

       Value '0' indicates that none of the ring ports is a RPL Neighbour port
       and hence the node is not a RPL Neighbour.

       In an interconnected node of a sub-ring, the 'extremeErpsRingEast' alone 
       can be chosen as an RPL Neighbour port when administrator decides to have the 
       interconnected node as the RPL Neighbour of the sub-ring.

       Both the RPL owner and RPL Neighbor node cannot be enabled at the same 
       Ethernet Ring Node.

       Administrator has to ensure that, only one node in a ring is 
       configured as RPL Neighbour ,and the node is adjacent to the RPL ."
    DEFVAL { 0 }
    ::= { extremeErpsRingEntry 14 }

extremeErpsRingProtectionType OBJECT-TYPE
   SYNTAX      INTEGER { portBased(1), serviceBased(2) }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This object specifies the type of protection being provided by this
      ring instance. The following two protection switching types are
      possible:
           portBased - Port Based Protection 
                       This ring applies the protection switching mechanism
                       for all traffic that pass through its ring ports.
                       Hence when ERP control process decides to block or
                       unblock a ring port, all data traffic that passes 
                       through that port gets affected.
           serviceBased - Service Based Protection.
                       This ring applies the protection switching mechanism
                       only for the set of vlans mapped to this ring instance.
                       Hence when ERP control process decides to block or
                       unblock a ring port, only the data traffic of the vlans
                       that are mapped to this ring instance and that passes 
                       through that port gets affected.
      
      All ring nodes in a single ring instance must be configured with the
      same protection type.

      In a single virtual context one ring can run in port based protection
      mode and another ring can run in service based protection mode. 

      It is not recommended to configure a port as ring port in a port based
      ring instance as well as in a service based  ring instance.

      It is not recommended to configure a port as ring port in multiple port 
      based ring instance.

      The ring protection type can be modified only when the row status of 
      the ring entry in not in service."
   DEFVAL { portBased }
   ::= { extremeErpsRingEntry 15 }

extremeRingCfmGroup1 OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..255)) 
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      " Connectivity Fault Management group 1"
   ::= { extremeErpsRingEntry 16 }

extremeRingCfmGroup2 OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..255))
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      " Connectivity Fault Management group 2 "
   ::= { extremeErpsRingEntry 17 }

-- -------------------------------------------------------------
-- extremeErpsStatsTable
-- -------------------------------------------------------------
extremeErpsRingStatsTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF ExtremeErpsRingStatsEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
     "This table contains statistics information for each of the ring
      present in the system. Entries in this table are created 
      implicitly by the creation of entries in the extreneErpsRingTable."
   ::={ extremeErps 4 }

extremeErpsRingStatsEntry OBJECT-TYPE
   SYNTAX       ExtremeErpsRingStatsEntry
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION
     "There is one entry in this table for each entry in the extremeErpsRingTable.
      Each entry contains the statistics for both ring ports. For a sub-ring 
      in an interconnected node, Port 2 statistics represent the statistics 
      of the UP MEP installed on extremeErpsRingEast."
   INDEX { extremeErpsRingName }
   ::= { extremeErpsRingStatsTable 1 }

ExtremeErpsRingStatsEntry ::= SEQUENCE {
      extremeErpsRingEastRapsPduSentCount    Counter32,
      extremeErpsRingWestRapsPduSentCount    Counter32,
      extremeErpsRingEastRapsPduRcvdCount    Counter32,
      extremeErpsRingWestRapsPduRcvdCount    Counter32,
      extremeErpsRingEastRapsPduDiscardCount Counter32,
      extremeErpsRingWestRapsPduDiscardCount Counter32,
      extremeErpsRingEastBlockedCount        Counter32,
      extremeErpsRingWestBlockedCount        Counter32,
      extremeErpsRingEastUnblockedCount      Counter32,
      extremeErpsRingWestUnblockedCount      Counter32,
      extremeErpsRingEastFailedCount         Counter32,
      extremeErpsRingWestFailedCount         Counter32,
      extremeErpsRingEastRecoveredCount      Counter32,
      extremeErpsRingWestRecoveredCount      Counter32
}

extremeErpsRingEastRapsPduSentCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of valid R-APS PDUs sent on the 
       extremeErpsRingEast of the ring. R-APS PDUs include all types like R-APS(SF),
       R-APS(NR) & R-APS (NR, RB)."
   ::= { extremeErpsRingStatsEntry 1 }

extremeErpsRingWestRapsPduSentCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of valid R-APS PDUs sent on the 
       extremeErpsRingWest of the ring. R-APS PDUs include all types like 
       R-APS(SF), R-APS(NR) & R-APS (NR, RB)."
   ::= { extremeErpsRingStatsEntry 2 }

extremeErpsRingEastRapsPduRcvdCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of valid R-APS PDUs received on the 
       extremeErpsRingEast of the ring. R-APS PDUs include all types like 
       R-APS(SF), R-APS(NR) & R-APS (NR, RB)."
   ::= { extremeErpsRingStatsEntry 3 }

extremeErpsRingWestRapsPduRcvdCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of valid R-APS PDUs received on the 
       extremeErpsRingWest of the ring. R-APS PDUs include all types like R-APS(SF),
       R-APS(NR) & R-APS (NR, RB)."
   ::= { extremeErpsRingStatsEntry 4 }

extremeErpsRingEastRapsPduDiscardCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of R-APS PDUs discarded on the 
       extremeErpsRingEast of the ring. R-APS PDUs include all types like R-APS(SF),
       R-APS(NR) & R-APS (NR, RB). R-APS PDUs with invalid RAPS header 
       information(wrong request/state) will be discarded."
   ::= { extremeErpsRingStatsEntry 5 }

extremeErpsRingWestRapsPduDiscardCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of R-APS PDUs discarded on the 
       extremeErpsRingWest of the ring. R-APS PDUs include all types like R-APS(SF),
       R-APS(NR) & R-APS (NR, RB). R-APS PDUs with invalid RAPS header 
       information(wrong request/state) will be discarded."
   ::= { extremeErpsRingStatsEntry 6 }

extremeErpsRingEastBlockedCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number times the extremeErpsRingEast is blocked.
       A port might be blocked because of local failure, or because of link
       configured as RPL, or if Force/Manual switch is configured"
   ::= { extremeErpsRingStatsEntry 7 }

extremeErpsRingWestBlockedCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number times the extremeErpsRingWest is blocked. 
       A port might be blocked because of local failure, or because of link
       configured as RPL, or if Force/Manual switch is configured"
   ::= { extremeErpsRingStatsEntry 8 }

extremeErpsRingEastUnblockedCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number times the extremeErpsRingEast is unblocked.
       A port might be unblocked because of recovery from local failure, or 
       if the link is configured as RPL link and there is any other failure
       in the network, or if Force/Manual switch configuration is removed."
   ::= { extremeErpsRingStatsEntry 9 }

extremeErpsRingWestUnblockedCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number times the extremeErpsRingWest is unblocked.
       A port might be unblocked because of recovery from local failure, or 
       if the link is configured as RPL link and there is any other failure
       in the network, or if Force/Manual switch configuration is removed."
   ::= { extremeErpsRingStatsEntry 10 }

extremeErpsRingEastFailedCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of times the extremeErpsRingEast failed 
       because of local SF condition." 
   ::= { extremeErpsRingStatsEntry 11 }

extremeErpsRingWestFailedCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of times the extremeErpsRingWest failed 
       because of local SF condition." 
   ::= { extremeErpsRingStatsEntry 12 }

extremeErpsRingEastRecoveredCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of times the extremeErpsRingEast recovered 
       from a failure (local clear SF condition)." 
   ::= { extremeErpsRingStatsEntry 13 }

extremeErpsRingWestRecoveredCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "This object indicates the number of times the extremeErpsRingWest recovered 
       from a failure (local clear SF condition)." 
   ::= { extremeErpsRingStatsEntry 14 }

-- -------------------------------------------------------------
-- extremeErpsGlobalInfo
-- ------------------------------------------------------------
extremeErpsGlobalInfo OBJECT IDENTIFIER
        ::= { extremeErps 5 }
        
extremeErpsGlobalEnabled OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION 
      "This object indicates if ERPS is enabled globally on the switch."
   ::= { extremeErpsGlobalInfo 1 }

extremeErpsGlobalDisplayConfigWarnings OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION 
       "This object indicates if Display Config Warnings is enabled globally on the 
        switch."
   ::= { extremeErpsGlobalInfo 2 }

extremeErpsGlobalMulticastAddRingPorts OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION 
       "This object indicates if Multicast Add Ring Ports is enabled globally on the 
        switch."
   ::= { extremeErpsGlobalInfo 3 }

extremeErpsGlobalMulticastSendIGMPAndMLDQuery OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION 
      "This object indicates if Multicast Send IGMP and MLD Query is enabled globally on the 
       switch."
   ::= { extremeErpsGlobalInfo 4 }

extremeErpsGlobalMulticastTemporaryFlooding OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION 
      "This object indicates if Multicast Temporary Flooding is enabled globally on the 
       switch."
   ::= { extremeErpsGlobalInfo 5 }

extremeErpsGlobalMulticastTemporaryFloodingDuration OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION 
       "This object indicates the duration of Multicast Temporary Flooding on the 
        switch."
   ::= { extremeErpsGlobalInfo 6 }

extremeErpsGlobalNumberOfERPSInstances OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION 
      "This object indicates the Number of ERPS instances is configured globally on the switch."
   ::= { extremeErpsGlobalInfo 7 }

-- -------------------------------------------------------------
-- extremeErpsNotification
-- ------------------------------------------------------------
extremeErpsTraps OBJECT IDENTIFIER ::= { extremeErpsNotifications 0 }

extremeErpsTypeOfFailure OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..32))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "This object provides the text indicating a particular failure 
         condition. 

         'R-APSPduTxFailure' will be set, when the state machine is unable to 
          transmit an R-APS PDU.

         'HwProgramFailure' will be set, when hardware programming for the ring
          fails. 

         'BufferAllocFailure' will be set, when there is memory allocation 
         failure issues.

         'TimerFailure' will be set, when there is any failure in the 
         timer start."
    ::= { extremeErpsNotifications 1 }

extremeErpsStateChangeTrap NOTIFICATION-TYPE
    OBJECTS  {
        extremeErpsRingName,
        extremeErpsRingSemState,
        extremeErpsRingNodeStatus
    }
    STATUS   current
    DESCRIPTION
         "This trap is generated on the following events:
               - Local SF is received for the ring.
               - Local Clear SF is received for the ring.
               - Remote failure is detected on this ring.
               - Remote failure is cleared on this ring.
               - Force Switch is issued for a ring (ForcedSwitch).
               - Manual Switch is issued for a ring (ManualSwitch)."
    ::= { extremeErpsTraps 1 }

extremeErpsFailureTrap NOTIFICATION-TYPE
    OBJECTS  {
        extremeErpsRingName,
        extremeErpsTypeOfFailure
    }
    STATUS   current
    DESCRIPTION
        "This trap is generated when there is any failure on a ring."
    ::= { extremeErpsTraps 2 }

-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------
extremeErpsMIBConformance  OBJECT IDENTIFIER ::= { extremeErps 6 }
extremeErpsMIBCompliances  OBJECT IDENTIFIER ::= { extremeErpsMIBConformance 1 }
extremeErpsMIBGroups       OBJECT IDENTIFIER ::= { extremeErpsMIBConformance 2 }

-- -------------------------------------------------------------
-- Compliance Statements
-- -------------------------------------------------------------
extremeErpsMIBCompliance MODULE-COMPLIANCE
     STATUS current
     DESCRIPTION
        "The core compliance statement for all ERPS implementations."
     MODULE -- this module
     MANDATORY-GROUPS  {
         extremeErpsProtectedVlanEntryGroup,
         extremeErpsRingGroup,
         extremeErpsRingCfmGroup,
         extremeErpsRingStatsGroup,
         extremeErpsGlobalInfoGroup
     }
     ::= { extremeErpsMIBCompliances 1 }

-- -------------------------------------------------------------
-- Conformance Groups
-- -------------------------------------------------------------
extremeErpsProtectedVlanEntryGroup OBJECT-GROUP
     OBJECTS  {
         extremeErpsProtectedVlanId,
         extremeErpsProtectedVlanRowStatus
         }
     STATUS current
     DESCRIPTION
        "Conformance group for ERPS Protected Vlan Entry."
     ::= { extremeErpsMIBGroups 1 }

extremeErpsRingGroup OBJECT-GROUP
     OBJECTS  {
         extremeErpsRingVlanId,
         extremeErpsRingEast,
         extremeErpsRingWest,
         extremeErpsRingRplPort,
         extremeErpsRingPortBlockingOnVcRecovery,
         extremeErpsRingNodeType,
         extremeErpsRingOperatingMode, 
         extremeErpsRingMonitorMechanism,
         extremeErpsRingEastStatus,
         extremeErpsRingWestStatus,
         extremeErpsRingSemState,
         extremeErpsRingNodeStatus,
         extremeErpsRingRplNeighbourPort, 
         extremeErpsRingProtectionType
         }
     STATUS current
     DESCRIPTION
        "Conformance group for ERPS Ring Entry."
     ::= { extremeErpsMIBGroups 2 }

extremeErpsRingCfmGroup OBJECT-GROUP
     OBJECTS  {
         extremeRingCfmGroup1,
         extremeRingCfmGroup2,
         extremeErpsRingCfmRowStatus
         }
     STATUS current
     DESCRIPTION
        "Conformance group for ERPS Ring Cfm Entry."
     ::= { extremeErpsMIBGroups 3 }

extremeErpsRingStatsGroup OBJECT-GROUP
     OBJECTS  {
         extremeErpsRingEastRapsPduSentCount,
         extremeErpsRingWestRapsPduSentCount,
         extremeErpsRingEastRapsPduRcvdCount,
         extremeErpsRingWestRapsPduRcvdCount,
         extremeErpsRingEastRapsPduDiscardCount,
         extremeErpsRingWestRapsPduDiscardCount,
         extremeErpsRingEastBlockedCount,
         extremeErpsRingWestBlockedCount,
         extremeErpsRingEastUnblockedCount,
         extremeErpsRingWestUnblockedCount,
         extremeErpsRingEastFailedCount,
         extremeErpsRingWestFailedCount,
         extremeErpsRingEastRecoveredCount,
         extremeErpsRingWestRecoveredCount
         }
     STATUS current
     DESCRIPTION
        "Conformance group for ERPS Ring Stats Entry."
     ::= { extremeErpsMIBGroups 4 }

extremeErpsGlobalInfoGroup OBJECT-GROUP
     OBJECTS  {
         extremeErpsGlobalEnabled,
         extremeErpsGlobalDisplayConfigWarnings,
         extremeErpsGlobalMulticastAddRingPorts,
         extremeErpsGlobalMulticastSendIGMPAndMLDQuery,
         extremeErpsGlobalMulticastTemporaryFlooding,
         extremeErpsGlobalMulticastTemporaryFloodingDuration,
         extremeErpsGlobalNumberOfERPSInstances,
         extremeErpsTypeOfFailure
         }
     STATUS current
     DESCRIPTION
        "Conformance group for ERPS global information."
     ::= { extremeErpsMIBGroups 5 }

extremeErpsNotificationGroup NOTIFICATION-GROUP
     NOTIFICATIONS  {
         extremeErpsStateChangeTrap,
         extremeErpsFailureTrap  
         }
     STATUS current
     DESCRIPTION
        "Conformance group for ERPS notification."
     ::= { extremeErpsMIBGroups 6 }
END


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

EXTREME-CFM-MIB DEFINITIONS ::= BEGIN

-- ******************************************************************
-- Extreme CFM MIB
-- ******************************************************************

IMPORTS
    NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE,
    Unsigned32               FROM SNMPv2-SMI    -- [RFC2578]
    TEXTUAL-CONVENTION,
    RowStatus, DisplayString FROM SNMPv2-TC     -- [RFC2579]
    InterfaceIndexOrZero     FROM IF-MIB        -- [RFC2863]
    extremeAgent             FROM EXTREME-BASE-MIB
    dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier,
    Dot1afCfmIndexIntegerNextFree,
    Dot1agCfmMepId           FROM IEEE8021-CFM-MIB   -- [IEEE 802.1ag]
    ;
    extremeCfm MODULE-IDENTITY
        LAST-UPDATED "201505180000Z" -- 18 may 2015
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION
            "Connectivity Fault Management Extreme Objects MIB.
             This is an extension to IEEE8021-CFM-MIB for all 
             extreme specific CFM objects.    
            "
        REVISION     "201505180000Z"
        DESCRIPTION
            "Initial creation of this MIB."
        ::= { extremeAgent 47 }

-- *****************************************************************************
-- Object definitions in the CFM Groups MIB Module
-- *****************************************************************************
extremeCfmNotifications  OBJECT IDENTIFIER ::= { extremeCfm 0 }
extremeCfmMibObjects     OBJECT IDENTIFIER ::= { extremeCfm 1 }
extremeCfmMibConformance OBJECT IDENTIFIER ::= { extremeCfm 2 }

-- *****************************************************************************
-- Groups in the CFM Extreme Objects MIB Module
-- *****************************************************************************
extremeCfmGroup           OBJECT IDENTIFIER ::= { extremeCfmMibObjects 1 }

-- ******************************************************************
-- Textual conventions
-- ******************************************************************

ExtremeCfmGroupOperStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the operational status of a group associated with a MEP on a 
        port of an association in a given domain:

        down(1)    indicates group is non-operational. 
        up(2)      indicates group is operational. 
       "
    SYNTAX      INTEGER {
                  down  (1),
                  up    (2)
                }

-- ******************************************************************
-- CFM Group Next Index 
-- ******************************************************************

extremeCfmGroupNextIndexTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeCfmGroupNextIndexEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object contains an unused value for extremeCfmGroupIndex in
        the extremeCfmGroupTable, or a zero to indicate that none exist.
       "
    ::= { extremeCfmGroup 1 }

extremeCfmGroupNextIndexEntry OBJECT-TYPE
    SYNTAX      ExtremeCfmGroupNextIndexEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of extremeCfmGroupNextIndexTable."
    INDEX { dot1agCfmMdIndex,
            dot1agCfmMaIndex,
            dot1agCfmMepIdentifier
          }
    ::= { extremeCfmGroupNextIndexTable 1 }

ExtremeCfmGroupNextIndexEntry ::= SEQUENCE {
      extremeCfmGroupNextIndex                Dot1afCfmIndexIntegerNextFree
    }

extremeCfmGroupNextIndex
OBJECT-TYPE
    SYNTAX          Dot1afCfmIndexIntegerNextFree
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Value to be used as the index of the Group table entries, for this
        Maintenance association End Point Identifier when the management 
        entity wants to create a new row in that table.
       "
    ::= { extremeCfmGroupNextIndexEntry 1 }

-- *****************************************************************************
-- CFM Group Configuration
-- *****************************************************************************

extremeCfmGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeCfmGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table includes configuration objects and operations for the 
        Group function, mainly used by the registered clients like ERPS,EAPS 
        to know link detection failure through CFM.

        Each row in the table represents a Group for the defined MEP. This 
        table uses four indices. The first three indices are the indices of 
        the Maintenance Domain, MaNet, and MEP tables. The fourth index is the 
        specific Group on the selected MEP. A Group is created on an existing MEP 
        using extremeCfmGroupIndex in the row creation.

        Only few objects are writable in this table. 

        The writable objects in this table need to be persistent upon reboot 
        or restart of a device. 
       "
    ::= { extremeCfmGroup 2 }

extremeCfmGroupEntry OBJECT-TYPE
    SYNTAX      ExtremeCfmGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of extremeCfmGroupTable."
    INDEX { dot1agCfmMdIndex,
            dot1agCfmMaIndex,
            dot1agCfmMepIdentifier,
            extremeCfmGroupIndex
          }
    ::= { extremeCfmGroupTable 1 }

ExtremeCfmGroupEntry ::= SEQUENCE {
      extremeCfmGroupIndex                    Unsigned32,
      extremeCfmGroupName                     DisplayString,
      extremeCfmGroupStatus                   ExtremeCfmGroupOperStatus,
      extremeCfmMepIfIndex                    InterfaceIndexOrZero,
      extremeCfmGroupRemoteMEPs               DisplayString,
      extremeCfmGroupClients                  DisplayString,
      extremeCfmGroupRowStatus                RowStatus
    }

extremeCfmGroupIndex
OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to the CFM Groups configuration table which indicates
        the specific group associated with a MEP.

        extremeCfmGroupTableNextIndex needs to be inspected to find an
        available index for row-creation.

        Referential integrity is necessary, i.e., the index needs to be
        persistent upon a reboot or restart of a device.  The index
        is never reused for other groups on the same MEP while this
        group is active.  The index value keeps increasing until it
        wraps to 0. This is to facilitate access control based
        on a fixed index for an EMS, since the index is not reused.
       "
    ::= { extremeCfmGroupEntry 1 }

extremeCfmGroupName
OBJECT-TYPE
    SYNTAX          DisplayString (SIZE(1..31))
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
       "The name of a CFM group.
        Group name can have alpha-numeric, '-' and '_'.
        It should start with alphabet. 
       "
    ::= { extremeCfmGroupEntry 2 }

extremeCfmGroupStatus
OBJECT-TYPE
    SYNTAX          ExtremeCfmGroupOperStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Whether the group is operational or not.

        The status is set based on associated MEP status and is informed to
        registered clients. 
        It is set to 'Up' when the group is operational.
        It is set to 'Down' when the group is non-operational.
       "
    ::= { extremeCfmGroupEntry 3 }

extremeCfmMepIfIndex
OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "This object is the interface index of the interface either a
        bridge port, or an aggregated IEEE 802.1 link within a bridge
        port, to which the MEP and hence the group is attached.

        Upon a restart of the system, the system SHALL, if necessary,
        change the value of this variable so that it indexes the
        entry in the interface table with the same value of ifAlias
        that it indexed before the system restart.  If no such
        entry exists, then the system SHALL set this variable to 0.
       "
    ::= { extremeCfmGroupEntry 4 }

extremeCfmGroupRemoteMEPs
OBJECT-TYPE
    SYNTAX          DisplayString (SIZE(0..256))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Lists the Remote MEPs associated with a group.
        Not all Remote MEPs of an MA may be associated with a group.
       "
    ::= { extremeCfmGroupEntry 5 }

extremeCfmGroupClients
OBJECT-TYPE
    SYNTAX          DisplayString (SIZE(0..256))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Lists all the registered clients with a group.
        The clients are informed with link failure or recovery through 
        group status notifications.
       "
    ::= { extremeCfmGroupEntry 6 }

extremeCfmGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.
        All columns must have a valid value before a row can be activated.
       "
   ::= { extremeCfmGroupEntry 7 }


-- ******************************************************************
-- The Group RMEP Database Table
-- ******************************************************************

extremeCfmGroupMepDbTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeCfmGroupMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The group Remote MEP Database. A database, maintained by every group, that
        maintains information about other MEPs in that group. 
       "
    ::= { extremeCfmGroup 3 }

extremeCfmGroupMepDbEntry OBJECT-TYPE
    SYNTAX      ExtremeCfmGroupMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Group Remote MEP Database table entry."
    INDEX { dot1agCfmMdIndex,
            dot1agCfmMaIndex,
            dot1agCfmMepIdentifier,
            extremeCfmGroupIndex,
            extremeCfmGroupMepDbRMepId
          }
    ::= { extremeCfmGroupMepDbTable 1 }

ExtremeCfmGroupMepDbEntry ::= SEQUENCE {
      extremeCfmGroupMepDbRMepId        Dot1agCfmMepId,
      extremeCfmGroupMepDbRowStatus     RowStatus
    }

extremeCfmGroupMepDbRMepId OBJECT-TYPE
    SYNTAX      Dot1agCfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Maintenance association End Point Identifier of a remote MEP
        whose information from the group MEP Database is to be returned.
       "
    ::= { extremeCfmGroupMepDbEntry 1 }

extremeCfmGroupMepDbRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.
        All columns must have a valid value before a row can be activated.
       "
   ::= { extremeCfmGroupMepDbEntry 2 }

-- *****************************************************************************
-- NOTIFICATIONS (TRAPS)
-- *****************************************************************************

extremeCfmGroupStatusDownUpAlarm NOTIFICATION-TYPE
    OBJECTS     {
                extremeCfmGroupStatus
                }
    STATUS      current
    DESCRIPTION
       "A Group status is changed. A notification (DownUpAlarm)
        is sent to the management entity with the OID of the Group
        that has detected the status change.

        The management entity receiving the notification can identify
        the system from the network source address of the
        notification, and can identify the Group reporting the status 
        by the indices in the OID of the extremeCfmGroupStatus
        variable in the notification:

           dot1agCfmMdIndex - Also the index of the MEP's
                              Maintenance Domain table entry
                              (dot1agCfmMdTable).
           dot1agCfmMaIndex - Also an index (with the MD table index)
                              of the MEP's Maintenance Association
                              network table entry
                              (dot1agCfmMaNetTable), and (with the MD
                              table index and component ID) of the
                              MEP's MA component table entry
                              (dot1agCfmMaCompTable).
           dot1agCfmMepIdentifier - MEP Identifier and final index
                              into the MEP table (dot1agCfmMepTable).
           extremeCfmGroupIndex -Group Identifier and final index
                              into the Group table (extremeCfmGroupTable).
       "
    ::= { extremeCfmNotifications 1 }

-- ******************************************************************
-- Extreme CFM MIB Module - Conformance Information
-- ******************************************************************

extremeCfmMibCompliances OBJECT IDENTIFIER ::= { extremeCfmMibConformance 1 }
extremeCfmMibGroups      OBJECT IDENTIFIER ::= { extremeCfmMibConformance 2 }

-- ******************************************************************
-- Extreme CFM MIB Units of conformance
-- ******************************************************************

extremeCfmMepGroup OBJECT-GROUP
    OBJECTS {
      extremeCfmGroupNextIndex,
      extremeCfmGroupName,
      extremeCfmGroupStatus,
      extremeCfmMepIfIndex,
      extremeCfmGroupRemoteMEPs,
      extremeCfmGroupClients,
      extremeCfmGroupRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Objects for the cfm group."
    ::= { extremeCfmMibGroups 1 }

extremeCfmMepDbGroup OBJECT-GROUP
    OBJECTS {
      extremeCfmGroupMepDbRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Objects for the cfm group Remote MEP."
    ::= { extremeCfmMibGroups 2 }

extremeCfmNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
      extremeCfmGroupStatusDownUpAlarm
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Notifications group."
    ::= { extremeCfmMibGroups 3 }

-- ******************************************************************
-- MIB Module Compliance statements
-- ******************************************************************

extremeCfmCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
       "The compliance statement for support of the Extreme CFM MIB module."
    MODULE
        MANDATORY-GROUPS {
            extremeCfmMepGroup,
            extremeCfmMepDbGroup,
            extremeCfmNotificationsGroup
         }

    ::= { extremeCfmMibCompliances 1 }
END

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

EXTREME-LACP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                Unsigned32              FROM SNMPv2-SMI
                TEXTUAL-CONVENTION      FROM SNMPv2-TC
                TruthValue              FROM SNMPv2-TC
                RowStatus               FROM SNMPv2-TC
                DisplayString           FROM RFC1213-MIB
                extremeAgent            FROM EXTREME-BASE-MIB;

    extremeLacp MODULE-IDENTITY
        LAST-UPDATED "0502151530Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Ethernet Automatic Protection Switching information."  
        ::= { extremeAgent 19 }

    LacpGroupId
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "This represents the LACP's LAG group id."
        SYNTAX      DisplayString (SIZE(1..32))


    LacpMemberPort
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "This represents a LACP LAG's member-port."
        SYNTAX      Unsigned32 (0..4294967295)


    extremeLacpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeLacpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains LACP information about all LACP
                 LAGs on this device."
        ::= { extremeLacp 1 }


    extremeLacpEntry OBJECT-TYPE
        SYNTAX ExtremeLacpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An individual entry of this table contains LACP 
                 information related to that LACP LAG."
        INDEX { extremeLacpGroup,
                extremeLacpMemberPort }
        ::= { extremeLacpTable 1 }

    ExtremeLacpEntry ::= SEQUENCE {
        extremeLacpGroup                LacpGroupId,
        extremeLacpMemberPort           LacpMemberPort,
        extremeLacpAggStatus            TruthValue
    }


    extremeLacpGroup  OBJECT-TYPE
        SYNTAX       LacpGroupId
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This represents the LACP LAG (Link Aggregation Group's) 
                      identifier."
        ::= { extremeLacpEntry 1 }

    extremeLacpMemberPort  OBJECT-TYPE
        SYNTAX       LacpMemberPort
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  
               "This represents a member port within the LAG." 
        ::= { extremeLacpEntry 2 }

    extremeLacpAggStatus  OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  
               "This represents if the member port has been added to the
                aggregator or not." 
        ::= { extremeLacpEntry 3 }

    
END
-- ################################################################################

ENTERASYS-UPN-TC-MIB DEFINITIONS ::= BEGIN

--  enterasys-upn-tc-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Enterasys 
--  Networks' UPN textual conventions.

--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in 
--  connection with the management of Enterasys Networks products.

--  Copyright February 2004 Enterasys Networks, Inc.

IMPORTS
    MODULE-IDENTITY
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    etsysModules
        FROM ENTERASYS-MIB-NAMES;

etsysUpnTcMIB MODULE-IDENTITY
    LAST-UPDATED "200402032200Z"  -- Tue Feb  3 22:00 GMT 2004
    ORGANIZATION "Enterasys Networks, Inc."
    CONTACT-INFO
        "Postal:  Enterasys Networks
                  50 Minuteman Rd.
                  Andover, MA 01810-1008
                  USA
         Phone:   +1 978 684 1000
         E-mail:  support@enterasys.com
         WWW:     http://www.enterasys.com"
   
    DESCRIPTION
        "This MIB module defines textual conventions related to 
         the management of User Personalized Networks.  The 
         conventions defined below are applicable for use in all
         Enterasys Networks' MIB definitions."

    REVISION    "200402032200Z"  -- Tue Feb  3 22:00 GMT 2004
    DESCRIPTION 
        "Changed naming from StationIdentifier to StationAddress to
         align naming with ongoing work in the IETF."

    REVISION    "200402031533Z"  -- Tue Feb  3 15:33 GMT 2004
    DESCRIPTION 
        "The initial version of this MIB module."
    ::= { etsysModules 44 } 


StationAddressType ::=  TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A value representing a network address that can be used
         to identify a station on the network.
 
         unknown(0)  An unknown address type. This value MUST
                     be used if the value of the corresponding
                     StationAddress object is a zero-length string.
                     It may also be used to indicate an station address
                     which is not in one of the formats defined
                     below.
 
         ipv4(1)     An IPv4 address as defined by the
                     InetAddressIPv4 textual convention as defined
                     in RFC3291.
 
         ipv6(2)     An IPv6 address as defined by the
                     StationAddressIPv6 textual convention below.
  
         mac(3)      An 802.3 MAC layer address, i.e. an
                     Ethernet address, defined by the
                     MacAddress textual convention as defined
                     in RFC2579.
  
         dns(16)     A DNS domain name as defined by the
                     InetAddressDNS textual convention as defined
                     in RFC3291.
  
         Each definition of a concrete StationAddressType value must 
         be accompanied by a definition of a textual convention for use
         with that StationAddressType.
 
         The StationAddressType textual convention SHOULD NOT be 
         subtyped in object type definitions to support future extensions.
         It MAY be subtyped in compliance statements in order to require
         only a subset of these address types for a compliant
         implementation."
    REFERENCE   
        "STD0058 (RFC2579), Textual Conventions for SMIv2.
         RFC3291, Textual Conventions for Internet Network Addresses."
    SYNTAX       INTEGER {
                     unknown(0),
                     ipv4(1),
                     ipv6(2),
                     mac(3),
                     dns(16)
                 }

StationAddress ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Denotes a generic Internet address.

         An StationAddress value is always interpreted within the 
         context of an StationAddressType value. Every usage of the
         StationAddress textual convention is required to specify 
         the StationAddressType object which provides the context.  
         It is suggested that the StationAddressType object is 
         logically registered before the object(s) which use the 
         StationAddress textual convention if they appear in the 
         same logical row.

         The value of an StationAddress object must always be
         consistent with the value of the associated StationAddressType
         object. Attempts to set an StationAddress object to a value
         which is inconsistent with the associated StationAddressType
         must fail with an inconsistentValue error.

         When this textual convention is used as the syntax of an
         index object, there may be issues with the limit of 128
         sub-identifiers specified in SMIv2, STD 58. In this case,
         the object definition MUST include a 'SIZE' clause to
         limit the number of potential instance sub-identifiers."
    SYNTAX      OCTET STRING (SIZE (0..255))

   StationAddressIPv6 ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d"
     STATUS       current
     DESCRIPTION
         "Represents an IPv6 network address:

            octets   contents         encoding
             1-16    IPv6 address     network-byte order
            17-20    scope identifier network-byte order

          The corresponding InetAddressType value is ipv6(2).

          The scope identifier (bytes 17-20) MUST NOT be present
          for global IPv6 addresses. For non-global IPv6 addresses
          (e.g. link-local or site-local addresses), the scope
          identifier MUST always be present. It contains a link
          identifier for link-local and a site identifier for
          site-local IPv6 addresses.

          The scope identifier MUST disambiguate identical address
          values. For link-local addresses, the scope identifier will
          typically be the interface index (ifIndex as defined in the
          IF-MIB, RFC 2233) of the interface on which the address is
          configured.

          The scope identifier may contain the special value 0
          which refers to the default scope. The default scope
          may be used in cases where the valid scope identifier
          is not known (e.g., a management application needs to
          write a site-local StationIdIPv6 address without
          knowing the site identifier value). The default scope
          SHOULD NOT be used as an easy way out in cases where
          the scope identifier for a non-global IPv6 is known."
     SYNTAX       OCTET STRING (SIZE (16|20))

END

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

ENTERASYS-POLICY-PROFILE-MIB DEFINITIONS ::= BEGIN

--  enterasys-policy-profile-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Extreme
--  Networks' user policy profile functionality.

--
--  This module will be extended, as needed.

--  Extreme Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Extreme Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Extreme Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Extreme
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Extreme Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Extreme Networks products.

--  Copyright 2001-2015 Extreme Networks, Inc.


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, TimeTicks, Unsigned32,
        Gauge32, Counter32, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    RowStatus, RowPointer, TEXTUAL-CONVENTION, TruthValue, StorageType
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    ifName, ifAlias
        FROM IF-MIB
    dot1dBasePort
        FROM BRIDGE-MIB
    PortList, VlanIndex
        FROM Q-BRIDGE-MIB
    EnabledStatus
        FROM P-BRIDGE-MIB
    StationAddressType, StationAddress
        FROM ENTERASYS-UPN-TC-MIB
    InetPortNumber
        FROM INET-ADDRESS-MIB
    Uri
        FROM URI-TC-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES;

etsysPolicyProfileMIB  MODULE-IDENTITY
    LAST-UPDATED "201501091557Z"  -- Fri Jan  9 15:57 UTC 2015
    ORGANIZATION "Extreme Networks, Inc"
    CONTACT-INFO
        "Postal:  Extreme Networks, Inc.
                  145 Rio Robles
                  San Jose, CA 95134 USA

         Phone:   +1 408 579-2800
         E-mail:  support@extremenetworks.com
         WWW:     http://www.extremenetworks.com"

    DESCRIPTION
        "This MIB module defines a portion of the SNMP enterprise 
         MIBs under the Enterasys enterprise OID pertaining to the 
         mapping of per user policy profiles for Extreme network
         edge devices or access products."

    REVISION    "201501091557Z"  -- Fri Jan  9 15:57 UTC 2015
    DESCRIPTION
        "Added the etsysPolicyEnabledState object to globally enable
         and disable policy on a system."

    REVISION    "201403041224Z"  -- Tue Mar  4 12:24 UTC 2014
    DESCRIPTION
        "Added a HTTP Redirect action for policy rules."

    REVISION    "201402271250Z"  -- Thu Feb 27 12:50 UTC 2014
    DESCRIPTION
        "Remove individual adress, port and Uri255 leaves from the 
         etsysPolicyHttpRedirectServerEntry and replace with a single 
         URI."

    REVISION    "201401151624Z"  -- Wed Jan 15 16:24 UTC 2014
    DESCRIPTION
        "Refined the SYNTAX and DESCRIPTION of the HTTP redirection
         URI."
    
    REVISION    "201311131549Z"  -- Wed Nov 13 15:49 UTC 2013
    DESCRIPTION
        "Added support for the 'supportsCounters' bit in  
         etsysPolicyCapabilities"

    REVISION    "201311071405Z"  -- Thu Nov  7 14:05 UTC 2013
    DESCRIPTION
        "Added support for HTTP redirection via assignment of 
         a policy profile."
    
    REVISION    "201303051651Z"  -- Tue Mar  5 16:51 UTC 2013
    DESCRIPTION
        "Modified the DESCRIPTION clause of etsysPolicyRuleOperPid
         and etsysPolicyNonVolatileRuleOperPid so that -1 is returned 
         when the etsysPolicyRuleProfileIndex is not zero."

    REVISION    "201303041509Z"  -- Mon Mar  4 15:09 UTC 2013
    DESCRIPTION
        "Modified the DESCRIPTION clause of etsysPolicyRuleOperPid."

    REVISION    "201303011227Z"  -- Fri Mar  1 12:27 UTC 2013
    DESCRIPTION
        "Add etsysPolicyNonVolatileRuleTable to contain rules that
         are configured administratively and stored persistently."

    REVISION    "201302141412Z"  -- Thu Feb 14 14:12 UTC 2013
    DESCRIPTION
        "Update the CONTACT-INFO clause."

    REVISION    "201301221627Z"  -- Tue Jan 22 16:27 UTC 2013
    DESCRIPTION
        "Add the application(29) enumeration to the
         PolicyClassificationRuleType TEXTUAL-CONVENTION."

    REVISION    "201206131634Z"  -- Wed Jun 17 16:34 UTC 2012
    DESCRIPTION
        "Add the etsysPolicyRuleQuarantineProfileIndex to allow for 
         the quarantining of sessions that match a specific rule."  

    REVISION    "201202071701Z"  -- Tue Feb  7 17:01 UTC 2012
    DESCRIPTION
        "Add the etsysPolicyProfileFstIndex to allow dynamic application of
         Flow Setup Throttling on a per user basis."

    REVISION    "201008091511Z"  -- Mon Aug  9 15:11 UTC 2010
    DESCRIPTION
        "Add controls for syslogEveryTime, profile visibility of syslog/trap
         statistics, egress-policy controls.
         ICMPv6 and ACL rule types added, tcp/udp rule types augmented to
         support IPv6 addresses."

    REVISION    "200904101200Z"  -- Wed Apr 10 12:00 UTC 2009
    DESCRIPTION
        "Added tri-state textual convention and modified the etsysPolicyRules
         group to use this convention for actions which previously used
         EnabledStatus.
         
         Added syslog, trap, and disable-port actions to the 
         etsysPolicyProfileTable."

    REVISION    "200904011336Z"  -- Wed Apr 01 13:36 UTC 2009
    DESCRIPTION
        "Modified the capabilities group to support both OverwriteTci 
         and Mirroring. A few other small corrections."

    REVISION    "200802191429Z"  -- Tue Feb 19 14:29 UTC 2008
    DESCRIPTION
        "Capability has been added to define a packet mirroring index
         for frames matching a policy profile or policy rule.

         Further clarification is included in DESCRIPTION field of the
         etsysPolicyProfileMirrorIndex and etsysPolicyRuleMirrorIndex
         objects."

    REVISION    "200703212102Z"  -- Wed Mar 21 21:02 GMT 2007
    DESCRIPTION
         "An additional scalar etsysPolicyRuleSylogExtendedFormat is
         added to configure enabling/disabling the addition of extended
         data to the rule-hit syslog messages.

         Further clarifications are included in DESCRIPTION field of 
         the etsysPolicyRuleSylogExtendedFormat object."

    REVISION "200606152040Z"  -- Thu Jun 15 20:40 UTC 2006
    DESCRIPTION
        "Grammar and typographical corrections."

    REVISION "200505182008Z"  -- Wed May 18 20:08 GMT 2005
    DESCRIPTION
        "TEXTUAL-CONVENTION PolicyRFC3580MapRadiusResponseTC includes
         an additional option vlanTunnelAttributeWithPolicyProfile.

         An additional scalar etsysPolicyRFC3580MapInvalidMapping is
         added to detect EtsysPolicyRFC3580MapEntry discrepancies.

 	 Further clarifications are included in DESCRIPTION fields of 
         the etsysPolicyRFC3580Map objects."

    REVISION "200503281535Z"  -- Mon Mar 28 15:35 GMT 2005
    DESCRIPTION
        "Additional branch etsysPolicyNotifications properly contains
         trap information."

    REVISION "200503142134Z"  -- Mon Mar 14 21:34 GMT 2005
    DESCRIPTION
        "etsysPolicyRuleStatsDroppedNotifications and
         etsysPolicyRuleSylogMachineReadableFormat now allow the
         managing entity to track missed syslog messages and to
         format the messages in hexadecimal.

         Additional capability table to detail policy rule type
         lengths in bits and bytes and the maximum number of rules
         of each rule type the agent supports.

         See the description of the PolicyClassificationRuleType
         textual convention for additional details relating to how
         rule-type-lengths are to be specified."

    REVISION "200408111517Z"  -- Wed Aug 11 15:17 GMT 2004
    DESCRIPTION
        "Updated the range for etsysPolicyProfilePriority
          to (0..4095).
         Added objects and groups related to mapping RFC3580 
          vlan-tunnel-attributes to PolicyProfiles.
         Added the etsysPolicyRuleAutoClearOnProfile,
          etsysPolicyRuleStatsAutoClearInterval, and
          etsysPolicyRuleStatsAutoClearPorts, objects.
         Added etsysPolicyEnabledTable to the capabilities section,
          in addition to reporting capabilities, it allows one
          to disable policy on a given port."
    
    REVISION "200405181702Z"  -- Tue May 18 17:02 GMT 2004 
    DESCRIPTION
        "Added the etsysPolicyRuleStatsAutoClearOnLink leaf."
    
    REVISION "200404022035Z"  -- Fri Apr  2 20:35 GMT 2004
    DESCRIPTION
        "Added the etsysPolicyRuleOperPid leaf to
         etsysPolicyRuleTable."

    REVISION "200403251803Z"  -- Thu Mar 25 18:03 GMT 2004
    DESCRIPTION
        "Added capabilities objects, status for profile assignment
         override, dynamic profile summary list, and notification
         configuration for dynamic rules."

    REVISION "200402032200Z"  -- Tue Feb  3 22:00 GMT 2004
    DESCRIPTION
        "Replaced StationIdentifierType with StationAddressType 
         and StationIdentifier with StationAddress to match new
         revision of ENTERASYS-UPN-TC-MIB." 
    
    REVISION "200402031533Z"  -- Tue Feb  3 15:33 GMT 2004
    DESCRIPTION
        "Replaced StationIdentifierTypeTC with StationIdentifierType
         and moved it to the ENTERASYS-UPN-TC-MIB, and replaced
         InetAddress with StationIdentifier from the same MIB module."

    REVISION "200401192143Z"  -- Mon Jan 19 21:43 GMT 2004
    DESCRIPTION
        "Added PolicyClassificationRuleType TEXTUAL-CONVENTION.
         Added the etsysPolicyProfileOverwriteTCI and
         etsysPolicyProfileRulePrecedence leaves to the 
         EtsysPolicyProfileEntry.  Added the etsysPolicyRules
         group for accounting of policy usage.  Additionally,
         the range syntax of several objects has been clarified.
         The etsysPolicyClassificationGroup and the 
         etsysPortPolicyProfileTable have been deprecated, 
         as they have been replaced by the etsysPolicyRulesGroup."

    REVISION "200311041716Z"  -- Tue Nov  4 17:16 GMT 2003
    DESCRIPTION
        "Added etsysPolicyMap object group in support of RFC 3580 and 
         Enterasys Technical Standard TS-07."

    REVISION "200302062259Z"  -- Thu Feb  6 22:59 GMT 2003
    DESCRIPTION
        "Added etsysDevicePolicyProfileDefault to provide managed
         entities, that cannot support complete policies on a per
         port basis, a global policy to augment what policies they
         can provide on a per port basis.
         Added etsysPolicyCapabilities to provide management agents
         a straight forward method to ascertain the capabilities of
         the managed entity."

    REVISION "200209171453Z"  -- Tue Sep 17 14:53 GMT 2002
    DESCRIPTION
        "Added Port ID information in the Station table, for
         ease of cross reference."

    REVISION "200207191337Z"  -- Fri Jul 19 13:37 GMT 2002
    DESCRIPTION
        "This version incorporates enhancements to support Station
         based policy provisioning, as well as other UPN related
         enhancements." 

    REVISION "200106112000Z"  --  Mon Jun 11 20:00 GMT 2001
    DESCRIPTION
        "This version modified the MODULE-IDENTITY statement to
         resolve an issue importing this MIB into some older MIB Tools.

         In the SEQUENCE for the etsysPortPolicyProfileTable the first
         object was incorrectly defined as etsysPortPolicyProfileIndex,
         this was corrected to read etsysPortPolicyProfileIndexType.

         Several misspelled words were corrected.

         Finally, the INDEX for the etsysPortPolicyProfileSummaryTable
         was corrected to index the table by policy index as well as 
         the type of port for each entry in the table."

    REVISION "200101090000Z"
    DESCRIPTION
        "The initial version of this MIB module."
    ::= { etsysModules 6 }


-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

PolicyProfileIDTC  ::=  TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS  current
    DESCRIPTION
        "This textual convention maps out to the possible 
         policyProfileIndex values.  It also allows for a value of 
         zero.  A value of zero (0) indicates that the given port 
         should not follow any policy profile."
    SYNTAX  Integer32 (0|1..65535)

PortPolicyProfileIndexTypeTC  ::=  TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention maps out to the possible port types
         which can be used to populate the etsysPortPolicyProfileTable,
         and of port IDs used in the etsysStationPolicyProfileTable."
    SYNTAX  INTEGER {
                      ifIndex(1),
                      dot1dBasePort(2)
                    }

PolicyRFC3580MapRadiusResponseTC  ::=  TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention maps out to the possible, pertinent,
         successful, responses which may be received from the RADIUS 
         server after a dynamic authentication attempt. PolicyProfile(1)
         is returned as a proprietary filter-id and has historically 
         been used to assign a policy profile to the authenticated 
         entity.  VlanTunnelAttribute(2) is the response defined in 
         RFC3580 and upon which further controls are applied by the 
         etsysPolicyRFC3580Map group.  A value of - 
         vlanTunnelAttributeWithPolicyProfile(3) is an 
         indication that both attributes are to be used."
    SYNTAX  INTEGER {
                      policyProfile(1),
                      vlanTunnelAttribute(2),
                      vlanTunnelAttributeWithPolicyProfile(3)
                    }

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

        This OCTET STRING will always be 512 Octets in length
        to accommodate all possible VIDs between (1..4094). The
        default value of this object is a string of all zeros."
    SYNTAX      OCTET STRING (SIZE(512))
    
PolicyClassificationRuleType  ::=  TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
       "Enumerates the possible types of classification rules which
        may be referenced in the etsysPolicyRuleTable.  Each
        type has an implied length (in bytes) associated with it. 

        Octet-strings defined as representing one of these types will
        be represented in Network-Byte-Order (Big Endian) if the native
        representation is other than octets.

        The managed entity MUST support sets in which the specified 
        rule length is less than that specified by the value the entity
        reports in etsysPolicyRuleAttributeByteLength, so long as the 
        associated etsysPolicyRulePrefixBits does not imply the 
        existence of more etsysPolicyRuleData than is present  (i.e. the
        specified length MUST be >= ((etsysPolicyRulePrefixBits+7)/8).)
        
        Additionally, the managed entity MUST return a 
        PolicyClassificationRuleType which carries the number of octets
        specified by the associated etsysPolicyRuleAttributeByteLength, 
        regardless of the number etsysPolicyRulePrefixBits.  This yields
        a behavior in which, on some devices, a ip4Source rule may be 
        supported with only 4 bytes of rule data (excluding the TCP/UDP
        source port information), while other devices may support the 
        full syntax using all 6 bytes.


        macSource(1)            The source MAC address in an Ethernet 
                                frame. Length is 6 bytes.

        macDestination(2)       The destination MAC address in an 
                                Ethernet frame.  Length is 6 bytes.
                                
        ipxSource(3)            The source address in an IPX header. 
                                Length is 4 bytes (Network prefix).
                                
        ipxDestination(4)       The destination address in an IPX 
                                header.  Length is 4 bytes (Network 
                                prefix).
                                
        ipxSourcePort(5)        The source IPX port(socket) in an IPX 
                                header. Length is 2 bytes.
                                
        ipxDestinationPort(6)   The destination IPX port(socket) in an 
                                IPX header. Length is 2 bytes.
                                
        ipxCos(7)               The CoS(HopCount) field in an IPX 
                                header.  Length is 1 byte.
                                
        ipxType(8)              The protocol type in an IPX header. 
                                Length is 1 byte.
                                
        ip6Source(9)            The source address in an IPv6 header, 
                                postfixed with the source port (for 
                                TCP/UDP frames). Length is 18 bytes
                                for IPv6+TCP/UDP, or 16 bytes for
                                IPv6.
                                
        ip6Destination(10)      The destination address in an IPv6 
                                header, postfixed with the destination 
                                port (for TCP/UDP frames). Length is 18
                                bytes for IPv6+TCP/UDP, or 16 bytes for
                                IPv6.

        ip6FlowLabel(11)        The flow label field (traffic class and
                                flow identifier) in an IPv6 header. 
                                Length is 3 bytes, as only the first
                                20 bits are valid and mask-able, only
                                the data in the first 20 bits (the first
                                five nibbles) is considered.
                                
        ip4Source(12)           The source address in an IPv4 header, 
                                postfixed with the source port (for 
                                TCP/UDP frames). Length is 6 bytes
                                for IPv4+TCP/UDP, or 4 bytes for
                                IPv4.
                                
        ip4Destination(13)      The destination address in an IPv4 
                                header, postfixed with the destination 
                                port (for TCP/UDP frames). Length is 6 
                                bytes for IPv4+TCP/UDP, or 4 bytes for
                                IPv4.
                                
        ipFragment(14)          Truth value derived from the FLAGS and 
                                FRAGMENTATION_OFFSET fields of an IP
                                header.  If the MORE bit of the flags 
                                field is set, or the 
                                FRAGMENTATION_OFFSET is non-zero, the 
                                frame is fragmented.  Length is 0 bytes
                                (there is no data, only presence).
                                
        udpSourcePort(15)       The source UDP port(socket) in a UDP 
                                header, optionally postfixed with a 
                                source IP address. Length is 2 bytes 
                                for UDP, 6 bytes for UDP+IPv4, or 18 
                                bytes for UDP+IPv6.
                                
        udpDestinationPort(16)  The destination UDP port(socket) in a 
                                UDP header, optionally postfixed with a 
                                destination IP address. Length is 2 
                                bytes for UDP, 6 bytes for UDP+IPv4, or
                                18 bytes for UDP+IPv6.
                                
        tcpSourcePort(17)       The source TCP port(socket) in an TCP 
                                header, optionally postfixed with a 
                                source IPv4 address. Length is 2 bytes 
                                for TCP, 6 bytes for TCP+IPv4, or 18 
                                bytes for TCP+IPv6.
                                
        tcpDestinationPort(18)  The destination TCP port(socket) in an 
                                TCP header, optionally postfixed with a 
                                destination IPv4 address. Length is 2 
                                bytes for TCP, 6 bytes for TCP+IPv4, or
                                18 bytes for TCP+IPv6.
                                
        icmpTypeCode(19)        The Type and Code fields from an ICMP 
                                frame.  These are encoded in 2 bytes, 
                                network-byte-order, Type in the first 
                                (left-most) byte, Code in the second 
                                byte.

        ipTtl(20)               The TTL(HopCount) field in an IP header.
                                Length is 1 byte.

        ipTos(21)               The ToS(DSCP) field in an IP header. 
                                Length is 1 byte.
                                
        ipType(22)              The protocol type in an IP header. 
                                Length is 1 byte.
                                
        icmpTypeCodeV6(23)      The Type and Code fields from an ICMP 
                                frame.  These are encoded in 2 bytes, 
                                network-byte-order, Type in the first 
                                (left-most) byte, Code in the second 
                                byte. For ICMPv6, which redefines the
                                types and codes.
                                
        etherType(25)           The type field in an Ethernet II frame.
                                Length is 2 bytes.
                                
        llcDsapSsap(26)         The DSAP/SSAP/CTRL field in an LLC 
                                encapsulated frame, includes SNAP 
                                encapsulated frames and the associated 
                                Ethernet II type field.  Length is 5 
                                bytes.

        vlanId(27)              The 12 bit Virtual LAN ID field present 
                                in an 802.1D Tagged frame.
                                Length is 2 bytes, the field is 
                                represented in the FIRST (left-most, 
                                big-endian) 12 bits of the 16 bit field.
                                A vlanId of 1 would be encoded as 00-10,
                                a vlanId of 4094 would be encoded as 
                                FF-E0, and a vlanId of 100 would be
                                encoded as 06-40.

        ieee8021dTci(28)        The entire 16 bit TCI field present 
                                in an 802.1D Tagged frame (include both
                                VLAN ID and Priority bits.
                                Length is 2 bytes.

        application(29)         32 bit enumerated application types.  
                                Specific applications may have extra data. 

        acl(30)                 A numbered ACL, represented by a 4 byte
                                integer value.  This is not maskable.

        bridgePort(31)          The dot1dBasePort on which the frame was
                                received.  Length is 2 bytes."
                                
    SYNTAX  INTEGER {
                    macSource(1),
                    macDestination(2),
                    ipxSource(3),
                    ipxDestination(4),
                    ipxSourcePort(5),
                    ipxDestinationPort(6),
                    ipxCos(7),
                    ipxType(8),
                    ip6Source(9),
                    ip6Destination(10),
                    ip6FlowLabel(11),
                    ip4Source(12),
                    ip4Destination(13),
                    ipFragment(14),
                    udpSourcePort(15),
                    udpDestinationPort(16),
                    tcpSourcePort(17),
                    tcpDestinationPort(18),
                    icmpTypeCode(19),
                    ipTtl(20),
                    ipTos(21),
                    ipType(22),
                    icmpTypeCodeV6(23),
                    etherType(25),
                    llcDsapSsap(26),
                    vlanId(27),
                    ieee8021dTci(28),
                    application(29),
                    acl(30),
                    bridgePort(31)
                    }

PolicyRulesSupported  ::=  TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
       "Enumerates the possible types of classification rules which
        may be supported.

        macSource(1)            The source MAC address in an Ethernet 
                                frame.
        macDestination(2)       The destination MAC address in an 
                                Ethernet frame.
        ipxSource(3)            The source address in an IPX header.
        ipxDestination(4)       The destination address in an IPX 
                                header. 
        ipxSourcePort(5)        The source IPX port(socket) in an IPX 
                                header.
        ipxDestinationPort(6)   The destination IPX port(socket) in an 
                                IPX header.
        ipxCos(7)               The CoS(HopCount) field in an IPX 
                                header. 
        ipxType(8)              The protocol type in an IPX header.
        ip6Source(9)            The source address in an IPv6 header, 
                                postfixed with the source port (for 
                                TCP/UDP frames).
        ip6Destination(10)      The destination address in an IPv6 
                                header, postfixed with the destination 
                                port (for TCP/UDP frames).
        ip6FlowLabel(11)        The flow label field (traffic class and
                                flow identifier) in an IPv6 header.
        ip4Source(12)           The source address in an IPv4 header, 
                                postfixed with the source port (for 
                                TCP/UDP frames).
        ip4Destination(13)      The destination address in an IPv4 
                                header, postfixed with the destination 
                                port (for TCP/UDP frames).
        ipFragment(14)          Truth value derived from the FLAGS and 
                                FRAGMENTATION_OFFSET fields of an IP
                                header.  If the MORE bit of the flags 
                                field is set, or the 
                                FRAGMENTATION_OFFSET is non-zero, the 
                                frame is fragmented.
        udpSourcePort(15)       The source UDP port(socket) in a UDP 
                                header.
        udpDestinationPort(16)  The destination UDP port(socket) in a 
                                UDP header.
        tcpSourcePort(17)       The source TCP port(socket) in an TCP 
                                header.
        tcpDestinationPort(18)  The destination TCP port(socket) in an 
                                TCP header.
        icmpTypeCode(19)        The Type and Code fields from an ICMP 
                                frame.
        ipTtl(20)               The TTL(HopCount) field in an IP header.
        ipTos(21)               The ToS(DSCP) field in an IP header.
        ipType(22)              The protocol type in an IP header.
        icmpTypeCodeV6(23)      The Type and Code fields from an ICMPv6 
                                frame.
        etherType(25)           The type field in an Ethernet II frame.
        llcDsapSsap(26)         The DSAP/SSAP/CTRL field in an LLC 
                                encapsulated frame, includes SNAP 
                                encapsulated frames and the associated 
                                Ethernet II type field.
        vlanId(27)              The 12 bit Virtual LAN ID field present 
                                in an 802.1D Tagged frame.
        ieee8021dTci(28)        The entire 16 bit TCI field present 
                                in an 802.1D Tagged frame (include both
                                VLAN ID and Priority bits.
        application(29)         Application based policy.
        acl(30)                 A number ACL list to which the frame is applied.
        bridgePort(31)          The dot1dBasePort on which the frame was
                                received."
                                
    SYNTAX  BITS {
                    macSource(1),
                    macDestination(2),
                    ipxSource(3),
                    ipxDestination(4),
                    ipxSourcePort(5),
                    ipxDestinationPort(6),
                    ipxCos(7),
                    ipxType(8),
                    ip6Source(9),
                    ip6Destination(10),
                    ip6FlowLabel(11),
                    ip4Source(12),
                    ip4Destination(13),
                    ipFragment(14),
                    udpSourcePort(15),
                    udpDestinationPort(16),
                    tcpSourcePort(17),
                    tcpDestinationPort(18),
                    icmpTypeCode(19),
                    ipTtl(20),
                    ipTos(21),
                    ipType(22),
                    icmpTypeCodeV6(23),
                    etherType(25),
                    llcDsapSsap(26),
                    vlanId(27),
                    ieee8021dTci(28),
                    application(29),
                    acl(30),
                    bridgePort(31)
                    }

TriStateStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A simple status value for the object.

         enabled(1)     indicates the action will occur
         disabled(2)    indicates no action will be asserted
         prohibited(3)  indicates the action will be prevented from 
                        occurring

         This is useful (over and above the standard EnabledStatus
         TC) in the context of hierarchical decision trees,
         whereby a decision to prevent an action may revoke another,
         lower precedent decision to take the action."

    SYNTAX      INTEGER { enabled(1), disabled(2), prohibited(3) }


-- -------------------------------------------------------------
-- MIB groupings 
-- -------------------------------------------------------------

etsysPolicyNotifications    OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 0 }

etsysPolicyProfile          OBJECT IDENTIFIER 
                      ::= { etsysPolicyProfileMIB 1 }

etsysPolicyClassification   OBJECT IDENTIFIER 
                      ::= { etsysPolicyProfileMIB 2 }

etsysPortPolicyProfile      OBJECT IDENTIFIER 
                      ::= { etsysPolicyProfileMIB 3 }
   
etsysPolicyVlanEgress       OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 4 }

etsysStationPolicyProfile   OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 5 } 
                      
etsysInvalidPolicyPolicy    OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 6 }

etsysDevicePolicyProfile    OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 8 }

etsysPolicyCapability       OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 9 }

etsysPolicyMap              OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 10 }

etsysPolicyRules            OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 11 }

etsysPolicyRFC3580Map       OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 12 }

etsysPolicyHttpRedirect     OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 13 }

etsysPolicySystem           OBJECT IDENTIFIER
                      ::= { etsysPolicyProfileMIB 14 }

-- ---------------------------------------------------------- --
-- Notifications
-- ---------------------------------------------------------- --
etsysPolicyRulePortHitNotification   NOTIFICATION-TYPE
    OBJECTS   { ifName, ifAlias, etsysPolicyRulePortHit, 
                etsysPolicyProfileName }
    STATUS    current
    DESCRIPTION
        "This notification indicates that a policy rule has matched
         network traffic on a particular port."
    ::= { etsysPolicyNotifications 1 }


-- -------------------------------------------------------------
-- etsysPolicyProfile group       
-- -------------------------------------------------------------

etsysPolicyProfileMaxEntries OBJECT-TYPE
    SYNTAX      Integer32 (1..65535) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of entries allowed in the
         etsysPolicyProfileTable."
    ::= { etsysPolicyProfile 1 }

etsysPolicyProfileNumEntries OBJECT-TYPE
    SYNTAX      Gauge32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries in the 
         etsysPolicyProfileTable."
    ::= { etsysPolicyProfile 2 }

etsysPolicyProfileLastChange OBJECT-TYPE
    SYNTAX      TimeTicks 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sysUpTime at which the etsysPolicyProfileTable was last
         modified."
    ::= { etsysPolicyProfile 3 }

etsysPolicyProfileTableNextAvailableIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the numerically lowest available 
         index within this entity, which may be used for the value 
         of etsysPolicyProfileIndex in the creation of a new entry 
         in the etsysPolicyProfileTable.

         An index is considered available if the index value falls
         within the range of 1 to 65535 and is not being used to 
         index an existing entry in the etsysPolicyProfileTable
         contained within this entity.

         This value should only be considered a guideline for 
         management creation of etsysPolicyProfileEntries, there is 
         no requirement on management to create entries based upon
         this index value."
    ::= { etsysPolicyProfile 4 }

etsysPolicyProfileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing policy profiles.  A policy is a group
         of classification rules which may be applied on a per
         user basis, to ports or to stations."
    ::= { etsysPolicyProfile 5 }

etsysPolicyProfileEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the 
         etsysPolicyProfileTable. Entries within this table MUST be
         considered non-volatile and MUST be maintained across 
         entity resets."
    INDEX  { etsysPolicyProfileIndex }
    ::= { etsysPolicyProfileTable 1 }

EtsysPolicyProfileEntry ::=
    SEQUENCE {
        etsysPolicyProfileIndex   
             Integer32,
        etsysPolicyProfileName
             SnmpAdminString,
        etsysPolicyProfileRowStatus      
             RowStatus,
        etsysPolicyProfilePortVidStatus 
             EnabledStatus,
        etsysPolicyProfilePortVid
             Unsigned32,
        etsysPolicyProfilePriorityStatus
             EnabledStatus,
        etsysPolicyProfilePriority 
             Integer32,
        etsysPolicyProfileEgressVlans
             VlanList,
        etsysPolicyProfileForbiddenVlans
             VlanList,
        etsysPolicyProfileUntaggedVlans
             VlanList,
        etsysPolicyProfileOverwriteTCI
             EnabledStatus,
        etsysPolicyProfileRulePrecedence
             OCTET STRING,
        etsysPolicyProfileVlanRFC3580Mappings
             VlanList,
        etsysPolicyProfileMirrorIndex
             Integer32,
        etsysPolicyProfileAuditSyslogEnable
             EnabledStatus,
        etsysPolicyProfileAuditTrapEnable
             EnabledStatus,
        etsysPolicyProfileDisablePort
             EnabledStatus,
        etsysPolicyProfileUsageList
             PortList,
        etsysPolicyProfileFstIndex
             Integer32,
        etsysPolicyProfileHttpRedirectIndex
             Integer32
    }

etsysPolicyProfileIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique arbitrary identifier for this Policy.

         Since a policy will be applied to a user regardless of his 
         or her location in the network fabric policy names SHOULD
         be unique within the entire network fabric.  Policy IDs 
         and policy names MUST be unique within the scope of a single
         managed entity."
    ::= { etsysPolicyProfileEntry 1 }

etsysPolicyProfileName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(1..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Administratively assigned textual description of this 
         Policy.

         This object MUST NOT be modifiable while this entry's
         RowStatus is active(1)."
    ::= { etsysPolicyProfileEntry 2 }

etsysPolicyProfileRowStatus OBJECT-TYPE
    SYNTAX      RowStatus 
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows for the dynamic creation and deletion
         of entries within the etsysPolicyProfileTable as well as
         the activation and deactivation of these entries.

         When this object's value is active(1) the corresponding 
         row's etsysPolicyProfilePortVid, etsysPolicyProfilePriority,
         and all entries within the etsysPolicyClassificationTable
         indexed by this row's etsysPolicyProfileIndex are available
         to be applied to network access ports or stations on the
         managed entity.  
         
         All ports corresponding to rows within the 
         etsysPortPolicyProfileTable whose etsysPortPolicyProfileOperID
         is equal to the etsysPolicyProfileIndex, shall have the 
         corresponding policy applied.  Likewise, all stations 
         corresponding to rows within the etsysStationPolicyProfileTable  
         whose etsysStationPolicyProfileOperID is equal to the
         etsysPolicyProfileIndex, shall have the corresponding policy
         applied.   

         The value of etsysPortPolicyProfileOperID for each such row
         in the etsysPortPolicyProfileTable will be equal to the
         etsysPortPolicyProfileAdminID, unless the authorization
         information from a source such as a RADIUS server indicates
         to the contrary.

         Refer to the specific objects within this MIB as well as
         well as  RFC2674, the CTRON-PRIORITY-CLASSIFY-MIB, the 
         CTRON-VLAN-CLASSIFY-MIB, and the CTRON-RATE-POLICING-MIB 
         for a complete explanation of the application and behavior
         of these objects.

         When this object's value is set to notInService(2) this
         policy will not be applied to any rows within the 
         etsysPortPolicyProfileTable.

         To allow policy profiles to be applied for security 
         implementations, setting this object's value from active(1)
         to notInService(2) or destroy(6) SHALL fail if one or more 
         instances of etsysPortPolicyProfileOperID or
         etsysStationPolicyProfileOperID currently reference
         this entry's associated policy due to a set by an underlying 
         security protocol such as RADIUS.

         For network functionality and clarity, setting this object 
         to destroy(6) SHALL fail if one or more instances of 
         etsysPortPolicyProfileOperID or etsysStationPolicyProfileOperID
         currently references this entry's etsysPolicyProfileIndex.

         Refer to the RowStatus convention for further details on 
         the behavior of this object."
    REFERENCE
        "RFC2579 (Textual Conventions for SMIv2)"
    ::= { etsysPolicyProfileEntry 3 }

etsysPolicyProfilePortVidStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object defines whether a PVID override should 
         be applied to ports which have this profile active.

         enabled(1) means that any port with this policy active 
         will have this row's etsysPolicyProfilePortVid applied to 
         untagged frames or priority-tagged frames received on this 
         port.

         disabled(2) means that etsysPolicyProfilePortVid will not
         be applied.  When this object is set to disabled(2) the 
         value of etsysPolicyProfilePortVid has no meaning."
    DEFVAL { disabled }
    ::= { etsysPolicyProfileEntry 4 }

etsysPolicyProfilePortVid OBJECT-TYPE
    SYNTAX      Unsigned32 (0|1..4094|4095) 
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object defines the PVID of this profile.

         If a port has an active policy and the policy's 
         etsysPolicyProfilePortVidStatus is set to enabled(1), the 
         etsysPolicyProfilePortVid will be applied to all untagged 
         frames arriving on the port that do not match any of the 
         policy classification rules. 

         Note that the 802.1Q PVID will still exist from a
         management view but will NEVER be applied to traffic 
         arriving on a port that has an active policy and enabled 
         etsysPolicyProfilePortVid defined, since policy is applied
         to traffic arriving on the port prior to the assignment of
         a VLAN using the 802.1Q PVID.

         The behavior of an enabled etsysPolicyProfilePortVid on 
         any associated port SHALL be identical to the behavior of 
         the dot1qPvid upon that port.
         
         Note that two special, otherwise illegal, values of the
         etsysPolicyProfilePortVid are used in defining the default
         forwarding actions, to be used in conjunction with policy
         classification rules, and do not result in packet tagging:
         
             0      Indicates that the default forwarding action 
                    is to drop all packets that do not match an 
                    explicit rule.
                    
             4095   Indicates that the default forwarding action
                    is to forward any packets not matching any
                    explicit rules."
    REFERENCE
        "RFC2674 (Q-BRIDGE-MIB) - dot1qPortVlanTable"
    DEFVAL { 1 }
    ::= { etsysPolicyProfileEntry 5 }

etsysPolicyProfilePriorityStatus OBJECT-TYPE
    SYNTAX      EnabledStatus 
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object defines whether a Class of Service
         should be applied to ports which have this profile 
         active.

         enabled(1) means that any port with this policy active 
         will have etsysPolicyProfilePriority applied to this port. 

         disabled(2) means that etsysPolicyProfilePriority will 
         not be applied.  When this object is set to disabled(2) 
         the value of etsysPolicyProfilePriority has no meaning."
    DEFVAL { disabled }
    ::= { etsysPolicyProfileEntry 6 }

etsysPolicyProfilePriority OBJECT-TYPE
    SYNTAX      Integer32 (0..4095)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object defines the default ingress Class of Service
         of this profile.

         If a port has an active policy and the policy's 
         etsysPolicyProfilePriorityStatus is set to enabled(1), the 
         etsysPolicyProfilePriority  will be applied to all packets 
         arriving on the port that do not match any of the policy 
         classification rules. 

         Note that dot1dPortDefaultUserPriority will still exist 
         from a management view but will NEVER be applied to traffic 
         arriving on a port that has an active policy and enabled 
         etsysPolicyProfilePriority defined, since policy is applied
         to traffic arriving on the port prior to the assignment of
         a priority using dot1dPortDefaultUserPriority.

         The behavior of an enabled etsysPolicyProfilePriority on 
         any associated port SHALL be identical to the behavior of 
         the dot1dPortDefaultUserPriority upon that port."
    REFERENCE
        "RFC2674 (P-BRIDGE-MIB) - dot1dPortPriorityTable"
    DEFVAL { 0 }
    ::= { etsysPolicyProfileEntry 7 }

etsysPolicyProfileEgressVlans OBJECT-TYPE
    SYNTAX      VlanList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The set of VLANs which are assigned by this policy to
         egress on ports for which this policy is active. Changes
         to a bit in this object affect the per-port per-VLAN
         Registrar control for Registration Fixed for the relevant
         GVRP state machine on each port for which this policy is
         active.  A VLAN may not be added in this set if it is 
         already a member of the set of VLANs in
         etsysPolicyProfileForbiddenVlans.  This object is 
         superseded on a per-port per-VLAN basis by any 'set' bits
         in dot1qVlanStaticEgressPorts and 
         dot1qVlanForbiddenEgressPorts. The default value of this 
         object is a string of zeros."
    ::= { etsysPolicyProfileEntry 8 }

etsysPolicyProfileForbiddenVlans OBJECT-TYPE
    SYNTAX      VlanList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The set of VLANs which are prohibited by this policy to
         egress on ports for which this policy is active. Changes
         to this object that cause a port to be included or 
         excluded affect the per-port per-VLAN Registrar control
         for Registration Forbidden for the relevant GVRP state 
         machine on each port for which this policy is active. A
         VLAN may not be added in this set if it is already a 
         member of the set of VLANs in etsysPolicyProfileEgressVlans.
         This object is superseded on a per-port per-VLAN basis by 
         any 'set' bits in the dot1qVlanStaticEgressPorts and
         dot1qVlanForbiddenEgressPorts.  The default value of this
         object is a string of zeros."
    ::= { etsysPolicyProfileEntry 9 }

etsysPolicyProfileUntaggedVlans OBJECT-TYPE
    SYNTAX      VlanList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The set of VLANs which should transmit egress packets as
         untagged on ports for which this policy is active. This 
         object is superseded on a per-port per-VLAN basis by any
         'set' bits in dot1qVlanStaticUntaggedPorts."
    ::= { etsysPolicyProfileEntry 10 }

etsysPolicyProfileOverwriteTCI OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "If set, the information contained within the TCI field of
         inbound, tagged packets will not be used by the device after 
         the ingress classification stage of packet relay.  The net 
         effect will be that the TCI information may be used to classify
         the packet, but will be overwritten (and ignored) by subsequent
         stages of packet relay."
    DEFVAL { disabled }
    ::= { etsysPolicyProfileEntry 11 }

etsysPolicyProfileRulePrecedence OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Each octet will contain a single value representing the rule 
         type to be matched against, defined by the 
         PolicyClassificationRuleType textual convention.  When read, 
         will return the currently operating rule matching precedence, 
         ordered from first consulted (in the first octet) to last 
         consulted (in the last octet). A set of a  single octet of 
         0x00 will result in a reversion to the default precedence 
         ordering.  A set of any other values will result in the 
         specified rule types being matched in the order specified,
         followed by the remaining rules, in default precedence order."
    ::= { etsysPolicyProfileEntry 12 }

etsysPolicyProfileVlanRFC3580Mappings OBJECT-TYPE
    SYNTAX      VlanList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The set of VLANs which are currently being mapped onto this 
         policy profile by the etsysPolicyRFC3580MapTable.  This only 
         refers to the mapping of vlan-tunnel-attributes returned from 
         RADIUS in an RFC3580 context."
    ::= { etsysPolicyProfileEntry 13 }

etsysPolicyProfileMirrorIndex OBJECT-TYPE
    SYNTAX      Integer32 (-1|0|1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A reference to a packet mirror destination (defined elsewhere).

         A value of (-1) indicates no mirror is specified, but a mirror is
         not explicitly prohibited.  
         
         A value of (0) indicates that mirroring is explicitly prohibited,
         unless a higher precedence source (a rule) has specified a mirror."
    DEFVAL { -1 }
    ::= { etsysPolicyProfileEntry 14 }

etsysPolicyProfileAuditSyslogEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "Enables the sending of a syslog message if no rule bound to this
         profile has prohibited it."
    DEFVAL { disabled }
    ::= { etsysPolicyProfileEntry 15 }

etsysPolicyProfileAuditTrapEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "Enables the sending of a SNMP NOTIFICATION if no rule bound to this
         profile has prohibited it."
    DEFVAL { disabled }
    ::= { etsysPolicyProfileEntry 16 }

etsysPolicyProfileDisablePort OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Will set the ifOperStatus of the port, on which the frame 
         which used this profile was received, to disable, if 
         if no rule bound to this profile has prohibited it."
    DEFVAL { disabled }
    ::= { etsysPolicyProfileEntry 17 }

etsysPolicyProfileUsageList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When read, a set bit indicates that this profile was used to
         send a syslog or trap message for corresponding port.  When set, 
         the native PortList will be bit-wise AND'ed with the set PortList,
         allowing the agent to clear the usage indication."
    ::= { etsysPolicyProfileEntry 18 }

etsysPolicyProfileFstIndex OBJECT-TYPE
    SYNTAX      Integer32 (0|1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
        "A reference to a Flow Setup Throttling (FST) class as defined by
         the etsysFlowLimitingClassType object.

         A value of (0) indicates no FST class is specified."  
    REFERENCE 
        "ENTERASYS-FLOW-LIMITING-MIB"
    DEFVAL { 0 }
    ::= { etsysPolicyProfileEntry 19 } 

etsysPolicyProfileHttpRedirectIndex OBJECT-TYPE
    SYNTAX      Integer32 (0|1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A reference to a HTTP Redirect server group as specified by
         the etsysPolicyHttpRedirectGroupIndex object.

         A value of (0) indicates no HTTP Redirect group is specified 
         for this profile."
    DEFVAL { 0 }
    ::= { etsysPolicyProfileEntry 20 }

-- -------------------------------------------------------------
-- etsysPolicyClassification group        
-- -------------------------------------------------------------

etsysPolicyClassificationMaxEntries OBJECT-TYPE
    SYNTAX      Integer32 (1..65535) 
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The maximum number of entries allowed in the
         etsysPolicyClassificationTable."
    ::= { etsysPolicyClassification 1 }

etsysPolicyClassificationNumEntries OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The current number of entries in the 
          etsysPolicyClassificationTable."
    ::= { etsysPolicyClassification 2 }

etsysPolicyClassificationLastChange OBJECT-TYPE
    SYNTAX      TimeTicks 
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The sysUpTime at which the etsysPolicyClassificationTable
          was last modified."
    ::= { etsysPolicyClassification 3 }

etsysPolicyClassificationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyClassificationEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
        "A table containing reference OIDs to entries within the 
         classification tables.

         These classification tables include but may not be limited 
         to:

                  ctPriClassifyTable
                  ctVlanClassifyTable 
                  ctRatePolicyingConfigTable

         This table is used to map a list of classification rules to
         an instance of the etsysPolicyProfileTable."
    REFERENCE
        "CTRON-PRIORITY-CLASSIFY-MIB, 
         CTRON-VLAN-CLASSIFY-MIB, 
         CTRON-RATE-POLICING-MIB"
    ::= { etsysPolicyClassification 4 }

etsysPolicyClassificationEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyClassificationEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
        "Describes a particular entry within the
         etsysPolicyClassificationTable.  Entries within this table
         MUST be considered non-volatile and MUST be maintained
         across entity resets."
    INDEX    { etsysPolicyProfileIndex, 
               etsysPolicyClassificationIndex }
    ::= { etsysPolicyClassificationTable 1 }

EtsysPolicyClassificationEntry ::=
    SEQUENCE {
        etsysPolicyClassificationIndex
             Integer32,
        etsysPolicyClassificationOID
             RowPointer,
        etsysPolicyClassificationRowStatus
             RowStatus,
        etsysPolicyClassificationIngressList
             PortList
    }

etsysPolicyClassificationIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
        "Administratively assigned unique value, greater than zero.

         Each etsysPolicyClassificationIndex instance MUST be unique 
         within the scope of its associated etsysPolicyProfileIndex."
    ::= { etsysPolicyClassificationEntry 1 }

etsysPolicyClassificationOID OBJECT-TYPE
    SYNTAX      RowPointer
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
        "This object follows the RowPointer textual convention and 
         is an OID reference to a classification rule.

         This object MUST NOT be modifiable while this entry's
         etsysPolicyClassificationStatus object has a value of 
         active(1)."
    ::= { etsysPolicyClassificationEntry 2 }

etsysPolicyClassificationRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
        "The status of this row.

         When set to active(1) this entry's classification rule, as 
         referenced by etsysPolicyClassificationOID, becomes one of 
         its associated policy's set of rules.

         When this entry's associated policy, as defined by 
         etsysPolicyProfileIndex, is active and assigned to a port
         through the etsysPortPolicyProfileTable or to a station
         through the etsysStationPolicyProfileTabbe, this 
         classification rule will be applied to the port or station.
         The exact behavior of this application depends upon the 
         classification rule.

         When this object is set to notInService(2) or notReady(3)
         this entry is not considered one of its associated policy's
         set of rules and this classification rule will not be 
         applied.

         An entry MAY NOT be set to active(1) unless this row's 
         etsysPolicyClassificationOID is set to a valid 
         classification rule."
    ::= { etsysPolicyClassificationEntry 3 }

etsysPolicyClassificationIngressList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The ports on which an active policy profile has defined
         this classification rule applies."
    ::= { etsysPolicyClassificationEntry 4 }


-- -------------------------------------------------------------
-- etsysPortPolicyProfile group 
-- -------------------------------------------------------------

etsysPortPolicyProfileLastChange OBJECT-TYPE

    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "sysUpTime at which the etsysPortPolicyProfileTable
         was last modified."
    ::= { etsysPortPolicyProfile 1 }

etsysPortPolicyProfileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPortPolicyProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated

    DESCRIPTION
        "This table allows for a one to one mapping between a 
         dot1dBasePort or an ifIndex and a Policy Profile."
    ::= { etsysPortPolicyProfile 2 }

etsysPortPolicyProfileEntry OBJECT-TYPE
    SYNTAX      EtsysPortPolicyProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
        "Describes a particular entry within the
         etsysPortPolicyProfileTable.  Entries within this 
         table MUST be considered non-volatile and MUST be maintained
         across entity resets."
    INDEX  { etsysPortPolicyProfileIndexType,
             etsysPortPolicyProfileIndex }
    ::= { etsysPortPolicyProfileTable 1 }

EtsysPortPolicyProfileEntry ::=
    SEQUENCE {
        etsysPortPolicyProfileIndexType
             PortPolicyProfileIndexTypeTC,
        etsysPortPolicyProfileIndex
             Integer32,
        etsysPortPolicyProfileAdminID
             PolicyProfileIDTC,
        etsysPortPolicyProfileOperID
             PolicyProfileIDTC
    }

etsysPortPolicyProfileIndexType OBJECT-TYPE
    SYNTAX      PortPolicyProfileIndexTypeTC 
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
        "This object defines the specific type of port this entry 
         represents." 
    ::= { etsysPortPolicyProfileEntry 1 }

etsysPortPolicyProfileIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
        "An index value which represents a unique port of the type
         defined by this entry's etsysPortPolicyProfileIndexType."
    ::= { etsysPortPolicyProfileEntry 2 }

etsysPortPolicyProfileAdminID OBJECT-TYPE
    SYNTAX      PolicyProfileIDTC
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "This object represents the desired Policy Profile for this 
         dot1dBasePort or this ifIndex.

         Setting this object to any value besides zero (0) should, 
         if possible, immediately place this entry's dot1dBasePort 
         or ifIndex into the given Policy Profile.

         This object and etsysPortPolicyProfileOperID may not be the
         same if this object is set to a Policy (i.e. an instance of
         the etsysPolicyProfileTable) which is not in an active state
         or if the etsysPortPolicyProfileOperID has been set by an 
         underlying security protocol such as RADIUS."
    DEFVAL { 0 }
    ::= { etsysPortPolicyProfileEntry 3 }

etsysPortPolicyProfileOperID OBJECT-TYPE
    SYNTAX      PolicyProfileIDTC
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "This object is the current policy which is being applied to
         this entry's dot1dBasePort. A value of zero(0) indicates 
         there is no policy being applied to this dot1dBasePort or 
         this ifIndex.

         If the value of this object has been set by an underlying 
         security protocol such as RADIUS, sets to this entry's
         etsysPortPolicyProfileAdminID MUST NOT change the value 
         of this object until such time as the security protocol
         releases this object by setting it to a value of zero (0)."
    ::= { etsysPortPolicyProfileEntry 4 }

etsysPortPolicyProfileSummaryTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF EtsysPortPolicyProfileSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table provides aggregate port information on a per 
         policy, per port type basis."
    ::= { etsysPortPolicyProfile 3 }

etsysPortPolicyProfileSummaryEntry OBJECT-TYPE
    SYNTAX      EtsysPortPolicyProfileSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
         "Conceptually defines a particular entry within the 
          etsysPortPolicyProfileSummaryTable." 
    INDEX  { etsysPolicyProfileIndex,
             etsysPortPolicyProfileSummaryIndexType }
    ::= { etsysPortPolicyProfileSummaryTable 1 }

EtsysPortPolicyProfileSummaryEntry ::=
    SEQUENCE {
        etsysPortPolicyProfileSummaryIndexType
             PortPolicyProfileIndexTypeTC,
        etsysPortPolicyProfileSummaryAdminID
             PortList,
        etsysPortPolicyProfileSummaryOperID
             PortList,
        etsysPortPolicyProfileSummaryDynamicID
             PortList
    }

etsysPortPolicyProfileSummaryIndexType OBJECT-TYPE
    SYNTAX      PortPolicyProfileIndexTypeTC 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object defines the specific type of port this entry 
         represents." 
    ::= { etsysPortPolicyProfileSummaryEntry 1 }

etsysPortPolicyProfileSummaryAdminID OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An aggregate list of all Ports currently supporting 
         rules which assign this profileIndex through
         administrative means.  Rules of this type have a 
         valid etsysPolicyRuleResult2 action and a
         profileIndex of 0."
    ::= { etsysPortPolicyProfileSummaryEntry 2 }

etsysPortPolicyProfileSummaryOperID OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An aggregate list of all Ports currently supporting 
         rules which assign this profileIndex through either
         an administrative or dynamic means.  The profileId 
         which will be assigned operationally, as frames are
         handled are too be reported here."
    ::= { etsysPortPolicyProfileSummaryEntry 3 }

etsysPortPolicyProfileSummaryDynamicID OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An aggregate list of all Ports currently supporting 
         rules which assign this profileIndex through a 
         dynamic means.  For example the profileIndex returned
         via a successful 802.1X supplicant authentication."
    ::= { etsysPortPolicyProfileSummaryEntry 4 }


-- -------------------------------------------------------------
-- etsysStationPolicyProfile group 
-- -------------------------------------------------------------

etsysStationPolicyProfileMaxEntries OBJECT-TYPE
    SYNTAX      Integer32 (1..65535) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of entries allowed in the
         etsysStationPolicyProfileTable.  If this number is
         exceeded, based on stations connecting to the edge
         device, the oldest entries will be deleted."
    ::= { etsysStationPolicyProfile 1 }

etsysStationPolicyProfileNumEntries OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries in the 
          etsysStationPolicyProfileTable."
    ::= { etsysStationPolicyProfile 2 }

etsysStationPolicyProfileLastChange OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "sysUpTime at which the etsysStationPolicyProfileTable
         was last modified."
    ::= { etsysStationPolicyProfile 3 }

etsysStationPolicyProfileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysStationPolicyProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table allows for a one to one mapping between a 
         station's identifying address and a Policy Profile."
    ::= { etsysStationPolicyProfile 4 }

etsysStationPolicyProfileEntry OBJECT-TYPE
    SYNTAX      EtsysStationPolicyProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Describes a particular entry within the
         etsysStationPolicyProfileTable.  Entries within this 
         table MUST be considered non-volatile and MUST be 
         maintained across entity resets."
    INDEX  { etsysStationPolicyProfileIndex }
    ::= { etsysStationPolicyProfileTable 1 }

EtsysStationPolicyProfileEntry ::=
    SEQUENCE {
        etsysStationPolicyProfileIndex
             Integer32,
        etsysStationIdentifierType
             StationAddressType,
        etsysStationIdentifier
             StationAddress,     
        etsysStationPolicyProfileOperID
             PolicyProfileIDTC,      
        etsysStationPolicyProfilePortType
             PortPolicyProfileIndexTypeTC,
        etsysStationPolicyProfilePortID
             Integer32
       }
       
etsysStationPolicyProfileIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An index value which represents a unique station entry."
    ::= { etsysStationPolicyProfileEntry 2 }

etsysStationIdentifierType OBJECT-TYPE
    SYNTAX      StationAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates the type of station identifying address contained 
       in etsysStationIdentifier."
    ::= { etsysStationPolicyProfileEntry 3 }   

etsysStationIdentifier OBJECT-TYPE
    SYNTAX      StationAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A value which represents a unique MAC Address, IP Address,
        or other identifying address for a station, or other logical 
        and authenticatable sub-entity within a station, connected 
        to a port."
    ::= { etsysStationPolicyProfileEntry 4 }
  
etsysStationPolicyProfileOperID OBJECT-TYPE
    SYNTAX      PolicyProfileIDTC
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is the current policy which is being applied to
         this entry's MAC Address. A value of zero(0) indicates 
         there is no policy being applied to this MAC Address.

         The value of this object reflects either the setting from an
         underlying AAA service such as RADIUS, or the default setting
         based on the etsysPortPolicyProfileAdminID for the port on
         which the station is connected.
         
         This object and the corresponding etsysPortPolicyProfileAdminID
         will not be the same if this object has been set by an 
         underlying security protocol such as RADIUS."
    ::= { etsysStationPolicyProfileEntry 5 }

etsysStationPolicyProfilePortType OBJECT-TYPE
    SYNTAX      PortPolicyProfileIndexTypeTC 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A textual convention that defines the specific type of port
         designator the corresponding entry represents." 
    ::= { etsysStationPolicyProfileEntry 6 }

etsysStationPolicyProfilePortID OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A value which represents the physical port, of the type
         defined by this entry's etsysStationPolicyProfilePortType,
         on which the associated station entity is connected.  This
         object is for convenience in cross referencing stations to
         ports."
    ::= { etsysStationPolicyProfileEntry 7 }
    

-- ---------------------------------------------------------- --
-- etsysInvalidPolicyPolicy group 
-- ---------------------------------------------------------- --

etsysInvalidPolicyAction OBJECT-TYPE
    SYNTAX        INTEGER  { 
                            applyDefaultPolicy(1),
                            dropPackets(2),
                            forwardPackets(3)
                           }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Specifies the action that the edge device should take if asked
         to apply an invalid or unknown policy.

             applyDefaultPolicy(1) - Ignore the result and search for 
                                     the next policy assignment rule.
             dropPackets(2)        - Block traffic.
             forwardPackets(3)     - Forward traffic, as if no policy 
                                     had been assigned (via 802.1D/Q 
                                     rules).

         Although dropPackets(2) is the most secure option, it may
         not always be desirable."
    DEFVAL { applyDefaultPolicy }
    ::= { etsysInvalidPolicyPolicy 1 }

etsysInvalidPolicyCount OBJECT-TYPE
    SYNTAX        Counter32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "Increments to indicate the number of times the device has
         detected an invalid/unknown policy."
    ::= { etsysInvalidPolicyPolicy 2 }


-- ---------------------------------------------------------- --
-- etsysDevicePolicyProfile group 
-- ---------------------------------------------------------- --

etsysDevicePolicyProfileDefault OBJECT-TYPE
     SYNTAX     Integer32 (0|1..65535)
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
         "If this value is non-zero, the value indicates
          the etsysPolicyProfileEntry (and its associated 
          etsysPolicyClassificationTable entries) which
          should be used by the device if the device is
          incapable of using the profile (or specific parts
          of the profile) explicitly applied to an inbound
          frame.  A value of zero indicates that no default
          profile is currently active."
     DEFVAL { 0 }
     ::= { etsysDevicePolicyProfile 1 }


-- ---------------------------------------------------------- --
-- etsysPolicyCapability group 
-- ---------------------------------------------------------- --

etsysPolicyCapabilities OBJECT-TYPE
    SYNTAX      BITS  {
        supportsVLANForwarding(0),
                       -- VLAN forwarding is supported on all 
                       -- rule types supported by the device.      

        supportsPriority(1),
                       -- classification rules are supported for 802.1p 
                       -- priorities.
        supportsPermit(2),
                       -- permit capability is supported on all 
                       -- rule types supported by the device
                       -- without having to specify a VLAN.       

        supportsDeny(3),
                       -- deny capability is supported on all rule
                       -- types supported by the device without
                       -- having to specify a VLAN.       

        supportsDeviceLevelPolicy(4),
                       -- a single device level policy is supported
                       -- to supplement any components of the per port
                       -- policy that cannot be applied by the device.
                       -- etsysDevicePolicyProfileDefault is used to
                       -- indicate the supplemental policy.  This
                       -- capability should only exist on devices that
                       -- cannot apply complete per port policies.

        supportsPrecedenceReordering(5),
                       -- supports the ability to change the evaluation
                       -- order of the respective classification rule
                       -- types.

        supportsTciOverwrite(6),
                       -- supports the ability to overwrite the TCI 
                       -- information found in inbound, tagged frames.

        supportsRulesTable(7),
                       -- supports the etsysPolicyRulesTable.

        supportsRuleUseAccounting(8),
                       -- supports the ability to track classification
                       -- rule use (and the etsysPolicyRuleUsageList).  

        supportsRuleUseNotification(9),
                       -- supports the ability to send audit information
                       -- the first time a rule is used to classify a
                       -- frame.

        supportsCoSTable(10),
                       -- supports the <MIB_NAME> as an action (in the 
                       -- stead of simple 802.1D Priority.

        supportsLongestPrefixRules(11),
                       -- Some (or all) of the classification table
                       -- rules support Longest Prefix matching.

        supportsPortDisableAction(12),
                       -- Supports the ability to disable a port based
                       -- on a rule in the etsysPolicyRulesTable.

        supportsRuleUseAutoClearOnLink(13),
                       -- supports the "auto clear on link up" object 
                       -- related to rule use accounting.

        supportsRuleUseAutoClearOnInterval(14),
                       -- supports the "auto clear interval " objects 
                       -- related to rule use accounting.

        supportsRuleUseAutoClearOnProfile(15),
                       -- supports the "auto clear profile" objects 
                       -- related to rule use accounting.

        supportsPolicyRFC3580MapTable(16),
                       -- supports RFC 3580 and policy simultaneously, 
                       -- and thus supports the etsysPolicyRFC3580Map 
                       -- group.

        supportsPolicyEnabledTable(17),
                       -- supports the etsysPolicyEnabledTable which
                       -- reports and controls the state of 
                       -- PolicyProfile assignment on the device.

        supportsMirror(18),
                       -- supports mirroring

        supportsEgressPolicy(19),
                       -- supports the application of policy on egress.

        supportsProfileFst(20),
                       -- supports per user Flow Setup Thresholding 
                       -- via etsysPolicyProfileFstIndex               

        supportsQuarantine(21),
                       -- supports quarantine

        supportsProfileHttpRedirect(22),
                       -- supports per profile HTTP redirect via 
                       -- etsysPolicyProfileHttpRedirectIndex

        supportsCounters(23)                       
                       -- supports counters

   }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of capabilities related to policies.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 1 }

etsysPolicyDynaPIDRuleCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of rule types which are supported by this device for
        the purpose of dynamically assigning a profile to the 
        network traffic described by the bit.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 2 }

etsysPolicyAdminPIDRuleCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of rule types which are supported by this device for
        the purpose of administratively assigning a profile to the 
        network traffic described by the bit.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 3 }

etsysPolicyVlanRuleCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of rule types which are supported by this device for
        the purpose of assigning a VlanId to the network traffic
        described by the bit.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 4 }

etsysPolicyCosRuleCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of rule types which are supported by this device for
        the purpose of assigning a CoS to the network traffic
        described by the bit.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 5 }

etsysPolicyDropRuleCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of rule types which are supported by this device for
        the purpose of discarding the network traffic described by 
        the bit.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 6 }

etsysPolicyForwardRuleCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of rule types which are supported by this device for
        the purpose of forwarding the network traffic described by 
        the bit.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 7 }

etsysPolicySyslogRuleCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of rule types which are supported by this device for
        the purpose of issuing syslog messages when the rule is used
        to identify the network traffic described by the bit.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 8 }

etsysPolicyTrapRuleCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of rule types which are supported by this device for
        the purpose of issuing an SNMP notify (trap) messages when the 
        rule is used to identify the network traffic described by the 
        bit.  A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 9 }

etsysPolicyDisablePortRuleCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "A list of rule types which are supported by this device for
        the purpose of disabling the ingress port identified when the 
        rule matches the network traffic described by the bit.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
   ::= { etsysPolicyCapability 10 }

etsysPolicySupportedPortList OBJECT-TYPE
   SYNTAX      PortList 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The list ports which support policy profile assignment (i.e. 
        the ports which _do_ policy).  This object may be useful to 
        management entities which desire to scope action to only those 
        ports which support policy.  A port which appears in this list,
        must support, at minimum, the assignment of a policy profile to
        all traffic ingressing the port."
   ::= { etsysPolicyCapability 11 }

etsysPolicyEnabledTable      OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyEnabledTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table allows for the configuration of policy profile 
         assignment methods, per port, including the ability to disable
         policy profile assignment, per port.  In addition, a ports 
         capabilities, with respect to policy profile assignment are 
         reported."
   ::= { etsysPolicyCapability 12 }

etsysPolicyEnabledTableEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyEnabledTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Describes a particular entry within the
         etsysPolicyEnabledTable."
    INDEX  { dot1dBasePort }
    ::= { etsysPolicyEnabledTable 1 }

EtsysPolicyEnabledTableEntry ::=
    SEQUENCE {
        etsysPolicyEnabledSupportedRuleTypes
             PolicyRulesSupported,
        etsysPolicyEnabledEnabledRuleTypes
             PolicyRulesSupported,
        etsysPolicyEnabledEgressEnabled
             EnabledStatus
       }

etsysPolicyEnabledSupportedRuleTypes OBJECT-TYPE
    SYNTAX      PolicyRulesSupported
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of rule types which the devices supports for the 
         purpose of assigning policy profiles to network traffic 
         ingressing this dot1dBasePort."
    ::= { etsysPolicyEnabledTableEntry 1 }

etsysPolicyEnabledEnabledRuleTypes OBJECT-TYPE
    SYNTAX      PolicyRulesSupported
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list of rule types from which the device will assign policy
         profiles to network traffic ingressing this dot1dBasePort.  
         Rules which have a type not enumerated here must not be used to
         assign policy profiles, but must still be used to interrogate 
         the rule-set bound to the determined policy profile.
         A set of all cleared bits will effectively disable policy in 
         the port."
    ::= { etsysPolicyEnabledTableEntry 2 }

etsysPolicyEnabledEgressEnabled OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls the enabling and disabling the application of policy
         as packets egress the switching process on the dot1dBasePort 
         specified in the indexing."
    DEFVAL { disabled }
    ::= { etsysPolicyEnabledTableEntry 3 }

etsysPolicyRuleAttributeTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyRuleAttributeTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table details each supported rule type attribute
         for rule data length in bytes, rule data length in bits, 
         and the maximum number of rules that may use that type."
    ::= { etsysPolicyCapability 13 }

etsysPolicyRuleAttributeTableEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyRuleAttributeTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Describes a particular entry within the
         etsysPolicyRuleAttributeTable."
    INDEX  { etsysPolicyRuleType }
    ::= { etsysPolicyRuleAttributeTable 1 }

EtsysPolicyRuleAttributeTableEntry ::=
    SEQUENCE {
        etsysPolicyRuleAttributeByteLength
              Integer32,
        etsysPolicyRuleAttributeBitLength
              Integer32,
        etsysPolicyRuleAttributeMaxCreatable
              Integer32
        }

etsysPolicyRuleAttributeByteLength OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This rule type's maximum length, in bytes of the 
         etsysPolicyRuleData.  Devices supporting this object MUST 
         allow sets for this rule data of any valid length up to and 
         including the length value represented by this object. 
         Management entities must also expect to read back the maximum 
         data length for each type regardless of the length the data 
         was set with."
    ::= { etsysPolicyRuleAttributeTableEntry 1 }

etsysPolicyRuleAttributeBitLength OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This rule type's maximum bit length for traffic data. This 
         value also represents the maximum mask that may be used for
         rule data. The mask MUST NOT exceed the rule data size. Masks
         that exceed the data size shall be considered invalid and 
         result in an SNMP set failure."
    ::= { etsysPolicyRuleAttributeTableEntry 2 }

etsysPolicyRuleAttributeMaxCreatable OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If this value is non-zero, the value indicates the maximum
         number of rules of this type the agent can support."
    ::= { etsysPolicyRuleAttributeTableEntry 3 }

etsysPolicyRuleTciOverwriteCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "A list of rule types which are supported by this device
        for the purpose of overwriting the TCI in received packets described 
        by the bit. A set bit, with the value 1, indicates support
        for the described functionality.  A clear bit, with the
        value 0, indicates the described functionality is not
        supported."
   ::= { etsysPolicyCapability 14 }
   
etsysPolicyRuleMirrorCapabilities OBJECT-TYPE
   SYNTAX      PolicyRulesSupported 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "A list of rule types which are supported by this device
        for the purpose of mirroring the network traffic described 
        by the bit. A set bit, with the value 1, indicates support
        for the described functionality.  A clear bit, with the
        value 0, indicates the described functionality is not
        supported."
   ::= { etsysPolicyCapability 15 }

etsysPolicyRuleQuarantineCapabilities OBJECT-TYPE
    SYNTAX       PolicyRulesSupported
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "A list of rule types which are supported by this device for
         the purpose of quarantining the user to a specified profile id
         when the rule is used to identify the network traffic described
         by the bit.  A set bit, with the value of 1, indicates support 
         for the described functionality.  A clear bit, with the value of 
         0, indicates the described functionality is not supported."
    ::= { etsysPolicyCapability 16 }   

-- -------------------------------------------------------------
-- etsysPolicyMap group 
-- -------------------------------------------------------------

etsysPolicyMapMaxEntries OBJECT-TYPE
    SYNTAX      Integer32 (1..65535) 
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMap 1 }

etsysPolicyMapNumEntries OBJECT-TYPE
    SYNTAX      Gauge32 
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMap 2 }

etsysPolicyMapLastChange OBJECT-TYPE
    SYNTAX      TimeTicks 
    MAX-ACCESS  read-only
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMap 3 }

etsysPolicyMapPvidOverRide OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMap 4 }

etsysPolicyMapUnknownPvidPolicy OBJECT-TYPE
     SYNTAX      INTEGER { 
                           denyAccess(1),
                           applyDefaultPolicy(2),
                           applyPvid(3)
                 }
     MAX-ACCESS  read-write
     STATUS      obsolete
     DESCRIPTION
        "This has been obsoleted."
     ::= { etsysPolicyMap 5 }

etsysPolicyMapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyMapEntry
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMap 6 }

etsysPolicyMapEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyMapEntry
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    INDEX  { etsysPolicyMapIndex }
    ::= { etsysPolicyMapTable 1 }

EtsysPolicyMapEntry ::=
    SEQUENCE {
        etsysPolicyMapIndex   
             Integer32,
        etsysPolicyMapRowStatus      
             RowStatus,
         etsysPolicyMapStartVid
             Unsigned32,
        etsysPolicyMapEndVid
             Unsigned32,
        etsysPolicyMapPolicyIndex
             Integer32     
              }

etsysPolicyMapIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMapEntry 1 }

etsysPolicyMapRowStatus OBJECT-TYPE
    SYNTAX      RowStatus 
    MAX-ACCESS  read-create
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMapEntry 2 }

etsysPolicyMapStartVid OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535) 
    MAX-ACCESS  read-create
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMapEntry 3 }

etsysPolicyMapEndVid OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535) 
    MAX-ACCESS  read-create
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMapEntry 4 }

etsysPolicyMapPolicyIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      obsolete
    DESCRIPTION
        "This has been obsoleted."
    ::= { etsysPolicyMapEntry 5 }


-- -------------------------------------------------------------
-- etsysPolicyRules group        
-- -------------------------------------------------------------

etsysPolicyRulesMaxEntries OBJECT-TYPE
    SYNTAX      Integer32 (1..65535) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of entries allowed in the
         etsysPolicyRulesTable."
    ::= { etsysPolicyRules 1 }

etsysPolicyRulesNumEntries OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries in the 
          etsysPolicyRulesTable."
    ::= { etsysPolicyRules 2 }

etsysPolicyRulesLastChange OBJECT-TYPE
    SYNTAX      TimeTicks 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sysUpTime at which the etsysPolicyRulesTable
          was last modified."
    ::= { etsysPolicyRules 3 }

etsysPolicyRulesAccountingEnable OBJECT-TYPE
    SYNTAX      EnabledStatus 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls the collection of rule usage statistics.  If 
         disabled, no usage statistics are gathered and no auditing
         messages will be sent.  When enabled, rule will gather 
         usage statistics, and auditing messages will be sent, if 
         enabled for a given rule."
    DEFVAL { disabled }
    ::= { etsysPolicyRules 4 }

etsysPolicyRulesPortDisabledList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write 
    STATUS      current
    DESCRIPTION
        "A portlist containing bits representing the dot1dBridgePorts 
         which have been disabled via the mechanism described in the
         etsysPolicyRuleDisablePort leaf.  A set bit indicates a 
         disabled port.

         Ports may be enabled by performing a set with the 
         corresponding bit cleared.  Bits which are set will
         be ignored during the set operation."
    ::= { etsysPolicyRules 5 }

-- -------------------------------------------------------------
-- etsysPolicyRuleTable
-- -------------------------------------------------------------

etsysPolicyRuleTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyRuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing rules bound to individual policies.  A
         Rule is comprised of three components, a unique description
         of the network traffic, an associated list of actions, and
         an associated list of accounting and auditing controls and 
         information.

         The unique description of the network traffic, defined by a
         PolicyClassificationRuleType together with a length, 
         matching data and a relevant bits field, port type,
         and port number (port number zero is reserved to mean any
         port), and scoped by a etsysPolicyProfileIndex, is used 
         as the table index."
    ::= { etsysPolicyRules 6 }

etsysPolicyRuleEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyRuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Describes a particular entry within the
         etsysPolicyRuleTable.  Entries within this table
         MUST be considered non-volatile and MUST be maintained
         across entity resets."
    INDEX    { etsysPolicyRuleProfileIndex, 
               etsysPolicyRuleType,
               etsysPolicyRuleData,
               etsysPolicyRulePrefixBits,
               etsysPolicyRulePortType,
               etsysPolicyRulePort}
    ::= { etsysPolicyRuleTable 1 }

EtsysPolicyRuleEntry ::=
    SEQUENCE {
        etsysPolicyRuleProfileIndex
             Integer32,
        etsysPolicyRuleType
             PolicyClassificationRuleType,
        etsysPolicyRuleData
             OCTET STRING,
        etsysPolicyRulePrefixBits
             Integer32,
        etsysPolicyRulePortType
             PortPolicyProfileIndexTypeTC,
        etsysPolicyRulePort
             Integer32,
        etsysPolicyRuleRowStatus
             RowStatus,
        etsysPolicyRuleStorageType
             StorageType,
        etsysPolicyRuleUsageList
             PortList,
        etsysPolicyRuleResult1
             Integer32,
        etsysPolicyRuleResult2
             Integer32,
        etsysPolicyRuleAuditSyslogEnable
             TriStateStatus,
        etsysPolicyRuleAuditTrapEnable
             TriStateStatus,
        etsysPolicyRuleDisablePort
             TriStateStatus,
        etsysPolicyRuleOperPid
             Integer32,
        etsysPolicyRuleOverwriteTCI
             TriStateStatus,
        etsysPolicyRuleMirrorIndex
             Integer32,
        etsysPolicyRuleQuarantineProfileIndex
             Integer32,
        etsysPolicyRuleHttpRedirectIndex
             Integer32
    }

etsysPolicyRuleProfileIndex OBJECT-TYPE
    SYNTAX      Integer32 (0|1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The etsysPolicyProfileIndex for which the rule is defined.

         A value of zero(0) has special meaning in that it scopes
         rules which are used to determine the Policy Profile to
         which the frame belongs.  See the etsysPolicyRuleResult1
         and etsysPolicyRuleResult2 descriptions for specifics of
         how the results of a rule hit differ when the
         etsysPolicyRuleProfileIndex is zero."
    ::= { etsysPolicyRuleEntry 1 }

etsysPolicyRuleType OBJECT-TYPE
    SYNTAX      PolicyClassificationRuleType 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The type of network traffic reference by the 
         etsysPolicyRuleData."
    ::= { etsysPolicyRuleEntry 2 }

etsysPolicyRuleData OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..64))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The data pattern to match against, as defined by the 
         etsysPolicyRuleType, encoded in network-byte order."
    ::= { etsysPolicyRuleEntry 3 }

etsysPolicyRulePrefixBits OBJECT-TYPE
    SYNTAX      Integer32(0|1..2048)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The relevant number of bits defined by the 
         etsysPolicyRuleData, to be used when matching against a 
         frame, relevant bits are specified in longest-prefix-first
         style (left to right).  A value of zero carries the special
         meaning of all bits are relevant."
    ::= { etsysPolicyRuleEntry 4 }

etsysPolicyRulePortType   OBJECT-TYPE
    SYNTAX      PortPolicyProfileIndexTypeTC
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The port number on which the rule will be applied.  Zero(0)
         is a special case, indicating that the rule should be applied
         to all ports."
    ::= { etsysPolicyRuleEntry 5 }

etsysPolicyRulePort   OBJECT-TYPE
    SYNTAX      Integer32(0|1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The port number on which the rule will be applied.  Zero(0)
         is a special case, indicating that the rule should be applied
         to all ports."
    ::= { etsysPolicyRuleEntry 6 }

etsysPolicyRuleRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this row.

         When set to active(1) this entry's classification rule, as 
         referenced by etsysPolicyRulesOID, becomes one of 
         its associated policy's set of rules.

         When this entry's associated policy, as defined by 
         etsysPolicyRuleProfileIndex, is active and assigned to a port
         through the etsysPortPolicyProfileTable or to a station
         through the etsysStationPolicyProfileTabbe, this 
         classification rule will be applied to the port or station.
         The exact behavior of this application depends upon the 
         classification rule.

         When this object is set to notInService(2) or notReady(3)
         this entry is not considered one of its associated policy's
         set of rules and this classification rule will not be 
         applied."
    ::= { etsysPolicyRuleEntry 7 }

etsysPolicyRuleStorageType OBJECT-TYPE
    SYNTAX      StorageType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The storage type of this row.

         When set to volatile(1) this entry's classification rule, as 
         referenced by etsysPolicyRulesOID, will be removed (if
         present) from non-volatile storage.  Rows created dynamically
         by the device will typically report this as their default
         storage type.

         When set to nonVolatile(1) this entry's classification rule, as
         referenced by etsysPolicyRulesOID, will be added to non-
         volatile storage.  This is the default value for rows created 
         as the result of external management.

         Values of other(0), permanent(4), and readOnly(5) may not be 
         set, although they may be returned for rows created by the 
         device."
    DEFVAL { nonVolatile }
    ::= { etsysPolicyRuleEntry 8 }

etsysPolicyRuleUsageList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When read, a set bit indicates that this rule was used to
         classify traffic on the corresponding port.  When set, the 
         native PortList will be bit-wise AND'ed with the set PortList,
         allowing the agent to clear the usage indication."
    ::= { etsysPolicyRuleEntry 9 }

etsysPolicyRuleResult1 OBJECT-TYPE
    SYNTAX      Integer32(-1|0|1..4094|4095)
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "If the etsysPolicyRuleProfileIndex is 0 then this field is
         read-only and defines the profile ID which will be assigned 
         to frames matching this rule.  This is the dynamically assigned
         value and may differ from the administratively configured 
         value.

         If the etsysPolicyRuleProfileIndex is not 0 then this field is
         read-create and defines the VLAN ID with which to mark a frame 
         matching this PolicyRule.

         Note that three special, otherwise illegal, values of the
         etsysPolicyRuleVlan are used in defining the forwarding action.
         
             -1     Indicates that no VLAN or forwarding behavior 
                    modification is desired. A rule will not be matched
                    against for the purpose of determining a marking
                    VID if this value is set.
         
             0      Indicates that the default forwarding action 
                    is to drop the packets matching this rule.
                    
             4095   Indicates that the default forwarding action
                    is to forward any packets matching this rule."
    DEFVAL { -1 }
    ::= { etsysPolicyRuleEntry 10 }

etsysPolicyRuleResult2 OBJECT-TYPE
    SYNTAX      Integer32(-1|0..4095)
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "If the etsysPolicyRuleProfileIndex is 0 then this field is
         read-create and defines the profile ID which the managing
         entity desires assigned to frames matching this rule.  This
         is the administrative value and may differ from the 
         dynamically assigned active value.

         If the etsysPolicyRuleProfileIndex is not 0 then this field is
         The CoS with which to mark a frame matching this 
         PolicyRule.

         Note that one special, otherwise illegal, values of the
         etsysPolicyRuleCoS are used in defining the forwarding 
         action.
         
             -1     Indicates that no CoS or forwarding behavior 
                    modification is desired. A rule will not be 
                    matched against for the purpose of determining 
                    a CoS if this value is set."
         
    DEFVAL { -1 }
    ::= { etsysPolicyRuleEntry 11 }

etsysPolicyRuleAuditSyslogEnable OBJECT-TYPE
    SYNTAX      TriStateStatus
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "Controls the sending of a syslog message when a bit in the
         etsysPolicyRuleUsageList transitions from 0 to 1."
    DEFVAL { disabled }
    ::= { etsysPolicyRuleEntry 12 }

etsysPolicyRuleAuditTrapEnable OBJECT-TYPE
    SYNTAX      TriStateStatus
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "Controls the sending of an SNMP NOTIFICATION when a bit in the
         etsysPolicyRuleUsageList transitions from 0 to 1."
    DEFVAL { disabled }
    ::= { etsysPolicyRuleEntry 13 }

etsysPolicyRuleDisablePort OBJECT-TYPE
    SYNTAX      TriStateStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls the disabling of a port (ifOperStatus of the
         corresponding ifIndex will be down) when a bit in the 
         etsysPolicyRuleUsageList transitions from 0 to 1.  When set to
         enabled, the corresponding ifIndex will be disabled upon the 
         transition."
    DEFVAL { disabled }
    ::= { etsysPolicyRuleEntry 14 }

etsysPolicyRuleOperPid OBJECT-TYPE
    SYNTAX      Integer32(-1|0..4095)
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
        "If the etsysPolicyRuleProfileIndex is 0 then this field 
         contains the currently applied profile ID for frames
         matching this rule.  This may be either the administratively
         applied value or the dynamically applied value.

         If the etsysPolicyRuleProfileIndex is not 0, then this
         object will return -1.

         Note that one special value exists:
         
             -1     Indicates that no profile ID is being applied
                    by this rule."
    DEFVAL { -1 }
    ::= { etsysPolicyRuleEntry 15 }

etsysPolicyRuleOverwriteTCI OBJECT-TYPE
    SYNTAX      TriStateStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "If set, the information contained within the TCI field of
         inbound, tagged packets will not be used by the device after 
         the ingress classification stage of packet relay.  The net 
         effect will be that the TCI information may be used to classify
         the packet, but will be overwritten (and ignored) by subsequent
         stages of packet relay."
    DEFVAL { disabled }
    ::= { etsysPolicyRuleEntry 16 }

etsysPolicyRuleMirrorIndex OBJECT-TYPE
    SYNTAX      Integer32 (-1|0|1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A reference to a packet mirror destination (defined elsewhere).

         A value of (-1) indicates no mirror is specified, but a mirror is
         not explicitly prohibited.  
         
         A value of (0) indicates that mirroring is explicitly prohibited,
         unless a higher precedence rule has specified a mirror."
    DEFVAL { -1 }
    ::= { etsysPolicyRuleEntry 17 }

etsysPolicyRuleQuarantineProfileIndex OBJECT-TYPE
    SYNTAX      Integer32 (-1|0|1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "If the etsysPolicyRuleProfileIndex is not 0 this field defines 
         the profile ID which will be used as the quarantine provisioning 
         agents mux response for the mac address and port whose frames 
         matched this rule.

         A value of (-1) indicates no quarantine profile is specified, 
         but quarantine is not explicitly prohibited.  

         A value of (0) indicates that quarantine is explicitly prohibited.

         If the etsysPolicyRuleProfileIndex is 0 this field is read only and
         will always return -1 when read."
    DEFVAL { -1 }
    ::= { etsysPolicyRuleEntry 18 }     

etsysPolicyRuleHttpRedirectIndex OBJECT-TYPE
    SYNTAX      Integer32 (-1|0|1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A reference to a HTTP Redirect server group as specified by
         the etsysPolicyHttpRedirectGroupIndex object.

         A value of (-1) indicates no HTTP Redirect is specified, but 
         HTTP redirection is not explicitly prohibited.

         A value of (0) indicates that HTTP Redirect is explicitly 
         prohibited, unless a higher precedence rule has specified a
         HTTP Redirect.

         Packets are only subject to HTTP redirection if they are IP 
         frames with TCP port numbers matching an entry in 
         etsysPolicyHttpRedirectSocketTable."
    DEFVAL { -1 }
    ::= { etsysPolicyRuleEntry 19 }

-- -------------------------------------------------------------
-- etsysPolicyRulePortTable
-- -------------------------------------------------------------

etsysPolicyRulePortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyRulePortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The purpose of this table is to provide an agent the
         ability to easily determine which rules have been used
         on a given bridge port.  A row will only be present when
         the rule which the instancing describes has been used.
         The agent may remove a row (and clear the used status)
         by setting the etsysPolicyRulePortHit leaf to False.
         PolicyClassificationRuleType together with a length, 
         matching data and a relevant bits field, port type,
         and port number (port number zero is reserved to mean any
         port), scoped by a etsysPolicyRuleProfileIndex, and preceded by
         a dot1dBasePort is used as the table index."
    ::= { etsysPolicyRules 7 }

etsysPolicyRulePortEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyRulePortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
         "."
    INDEX    { dot1dBasePort,
               etsysPolicyRuleProfileIndex, 
               etsysPolicyRuleType,
               etsysPolicyRuleData,
               etsysPolicyRulePrefixBits,
               etsysPolicyRulePortType,
               etsysPolicyRulePort }
    ::= { etsysPolicyRulePortTable 1 }

EtsysPolicyRulePortEntry ::=
    SEQUENCE {
        etsysPolicyRulePortHit     TruthValue
    }

etsysPolicyRulePortHit OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Every row will report a value of True, indicating that the
         Rule described by the instancing was used on the given
         port.  An agent may be set this leaf to False to clear 
         remove the row and clear the Rule Use bit for the 
         specified Rule, on the given bridgePort."
    ::= { etsysPolicyRulePortEntry 1 }

etsysPolicyRuleDynamicProfileAssignmentOverride OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If true, administratively assigned profile assignment
         rules override dynamically assigned profiles assignments
         for a given rule.  If false, the dynamically assigned 
         value (typically created by a successful authentication
         attempt) overrides the administratively configured value.
         The agent may optionally implement this leaf as read-only."
    DEFVAL { false }
    ::= { etsysPolicyRules 8 }

etsysPolicyRuleDefaultDynamicSyslogStatus OBJECT-TYPE
    SYNTAX      TriStateStatus 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If enabled(1), rules dynamically created will set 
         etsysPolicyRuleAuditSyslogEnable to enabled.  If
         disabled(2) a dynamically created rule will have
         etsysPolicyRuleAuditSyslogEnable set to disabled.
         The agent may optionally implement this leaf as read-only."
    DEFVAL { disabled }
    ::= { etsysPolicyRules 9 }

etsysPolicyRuleDefaultDynamicTrapStatus OBJECT-TYPE
    SYNTAX      TriStateStatus 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If enabled(1), rules dynamically created will set 
         etsysPolicyRuleAuditTrapEnable to enabled.  If
         disabled(2) a dynamically created rule will have
         etsysPolicyRuleAuditTrapEnable set to disabled.
         The agent may optionally implement this leaf as read-only."
    DEFVAL { disabled }
    ::= { etsysPolicyRules 10 }

etsysPolicyRuleStatsAutoClearOnLink OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If set to enabled(1), when operstatus up is detected on any 
          port the agent will clear the rule usage information 
          associated with that port.  
          This ability is further scoped to the list of ports defined by
          etsysPolicyRuleStatsAutoClearPorts.
          This leaf is optional and will have no effect on an agent 
          which has rule use accounting disabled or does not support 
          rule use accounting.
          By default, the rule use accounting information will not be 
          modified by operstatus transitions."
    DEFVAL { disabled }
    ::= { etsysPolicyRules 11 }

etsysPolicyRuleStatsAutoClearInterval OBJECT-TYPE
    SYNTAX      Integer32 (0|1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The interval at which the device will automatically clear rule
         usage statistics, in minutes.  This ability is disabled (usage
         statistics will not be automatically cleared) if set to 
         zero(0).
         This ability is further scoped to the list of ports defined by
         etsysPolicyRuleStatsAutoClearPorts.
         This leaf is optional and will have no effect on an agent which
         has rule use accounting disabled or does not support rule use 
         accounting." 
    DEFVAL { 0 }
    ::= { etsysPolicyRules 12 }

etsysPolicyRuleStatsAutoClearPorts OBJECT-TYPE
    SYNTAX      PortList                  
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list ports on which rule usage statistics will be 
         cleared  by one of the AutoClear actions 
         (etsysPolicyRuleStatsAutoClearInterval, 
          etsysPolicyRuleStatsAutoClearOnProfile, or
          etsysPolicyRuleStatsAutoClearOnLink).
         By default, no ports will be set in this list.
         This leaf is optional, unless the agent claims support for 
          one of the other 'autoclear' objects, and will have no effect
          on an agent which has rule use accounting disabled or does 
          not support rule use accounting." 
    ::= { etsysPolicyRules 13 }

etsysPolicyRuleStatsAutoClearOnProfile OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If set to enabled(1), when a rule assigning a PolicyProfile 
         (whose etsysPolicyRuleProfileIndex is zero(0)) is activated,
         all the rule usage bits associated with the rules bound to the
         PolicyProfile specified by the etsysPolicyRuleOperPid
         and the port specified by the etsysPolicyRulePort are cleared
         (if there is no port specified or no valid 
         etsysPolicyRuleProfileIndex specified, then no action follows).
         This ability is further scoped to the list of ports defined by
         etsysPolicyRuleStatsAutoClearPorts.
         This leaf is optional and will have no effect on an agent 
         which has rule use accounting disabled or does not support 
         rule use accounting.  By default, the rule use accounting 
         information will not be modified by the creation or activation
         of PolicyProfile assignment rules."
    DEFVAL { disabled }
    ::= { etsysPolicyRules 14 }

etsysPolicyRuleStatsDroppedNotifications OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A count of the number of times the agent has dropped 
         notification (syslog or trap) of a etsysPolicyRuleUsageList 
         bit transition.  A management entity might use this leaf as 
         an indication to read the etsysPolicyRuleUsageList objects 
         for important rules.  This count should be kept to the best of
         the device's ability, and explicitly does not cover 
         notifications discarded by the network."
    ::= { etsysPolicyRules 15 }

etsysPolicyRuleSylogMachineReadableFormat OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If enabled, the device should format rule usage messages so 
         that they might be processed by a machine (scripting backend, 
         etc).  If disabled, the messages should be formatted for human
         consumption."
    DEFVAL { disabled }
    ::= { etsysPolicyRules 16 }

etsysPolicyRuleSylogExtendedFormat OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If enabled, the device should provide additional information
         in rule-hit syslog messages.  This information MAY include what
         actions may have been initiated by the rule (if any) or 
         data mined from the packet which matched the rule."
    DEFVAL { disabled }
    ::= { etsysPolicyRules 17 }

etsysPolicyRuleSylogEveryTime OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If enabled, the device will syslog on every rule hit (or profile
         hit) which specifies SYSLOG as the action, instead of only when
         the associated bit in the etsysPolicyProfileUsageList or the
         etsysPolicyRuleUsageList is clear. It should be noted that this may
         cause MANY messages to be generated."
    DEFVAL { disabled }
    ::= { etsysPolicyRules 18 }

-- -------------------------------------------------------------
-- etsysPolicyNonVolatileRuleTable
-- -------------------------------------------------------------

etsysPolicyNonVolatileRulesLastChange OBJECT-TYPE
    SYNTAX      TimeTicks 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sysUpTime at which the etsysPolicyNonVolatileRuleTable
         was last modified."
    ::= { etsysPolicyRules 19 }


etsysPolicyNonVolatileRuleTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyNonVolatileRuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing rules bound to individual policies.  The 
         rules here contained are representations of the non-volatile
         rules contained in the etsysPolicyRuleTable defined in this MIB.

         A Rule is comprised of three components, a unique description
         of the network traffic, an associated list of actions, and
         an associated list of accounting and auditing controls and 
         information.

         The unique description of the network traffic, defined by a
         PolicyClassificationRuleType together with a length, 
         matching data and a relevant bits field, port type,
         and port number (port number zero is reserved to mean any
         port), and scoped by a etsysPolicyProfileIndex, is used 
         as the table index."
    ::= { etsysPolicyRules 20 }

etsysPolicyNonVolatileRuleEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyNonVolatileRuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Describes a particular entry within the
         etsysPolicyNonVolatileRuleTable.  Entries within this table
         are representations of the non-volatile entries found
         in the etsysPolicyRuleTable."
    INDEX    { etsysPolicyRuleProfileIndex, 
               etsysPolicyRuleType,
               etsysPolicyRuleData,
               etsysPolicyRulePrefixBits,
               etsysPolicyRulePortType,
               etsysPolicyRulePort}
    ::= { etsysPolicyNonVolatileRuleTable 1 }

EtsysPolicyNonVolatileRuleEntry ::=
    SEQUENCE {
        etsysPolicyNonVolatileRuleRowStatus
             RowStatus,
        etsysPolicyNonVolatileRuleStorageType
             StorageType,
        etsysPolicyNonVolatileRuleUsageList
             PortList,
        etsysPolicyNonVolatileRuleResult1
             Integer32,
        etsysPolicyNonVolatileRuleResult2
             Integer32,
        etsysPolicyNonVolatileRuleAuditSyslogEnable
             TriStateStatus,
        etsysPolicyNonVolatileRuleAuditTrapEnable
             TriStateStatus,
        etsysPolicyNonVolatileRuleDisablePort
             TriStateStatus,
        etsysPolicyNonVolatileRuleOperPid
             Integer32,
        etsysPolicyNonVolatileRuleOverwriteTCI
             TriStateStatus,
        etsysPolicyNonVolatileRuleMirrorIndex
             Integer32,
        etsysPolicyNonVolatileRuleQuarantineProfileIndex
             Integer32
    }

etsysPolicyNonVolatileRuleRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of this row.

         When active(1) this entry's classification rule, 
         is one of its associated policy's set of rules.

         When this entry's associated policy, as defined by 
         etsysPolicyRuleProfileIndex, is active and assigned to a port
         through the etsysPortPolicyProfileTable or to a station
         through the etsysStationPolicyProfileTable, this 
         classification rule will be applied to the port or station.
         The exact behavior of this application depends upon the 
         classification rule.

         When this object is notInService(2) or notReady(3)
         this entry is not considered one of its associated policy's
         set of rules and this classification rule will not be 
         applied."
    ::= { etsysPolicyNonVolatileRuleEntry 7 }

etsysPolicyNonVolatileRuleStorageType OBJECT-TYPE
    SYNTAX      StorageType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The storage type of this row.

         For all entries in the table this is set to nonVolatile(1),
         and as such, this entry's classification rule will be added 
         to non-volatile storage."
    ::= { etsysPolicyNonVolatileRuleEntry 8 }

etsysPolicyNonVolatileRuleUsageList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When read, a set bit indicates that this rule was used to
         classify traffic on the corresponding port."
    ::= { etsysPolicyNonVolatileRuleEntry 9 }

etsysPolicyNonVolatileRuleResult1 OBJECT-TYPE
    SYNTAX      Integer32(-1|0|1..4094|4095)
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
        "If the etsysPolicyRuleProfileIndex is 0 this field defines the 
         profile ID which will be assigned to frames matching this rule.  
         This is the dynamically assigned value and may differ from the 
         administratively configured value.

         If the etsysPolicyRuleProfileIndex is not 0 then this field 
         defines the VLAN ID with which to mark a frame matching this 
         PolicyNonVolatileRule.

         Note that three special, otherwise illegal, values of the
         etsysPolicyNonVolatileRuleVlan are used in defining the 
         forwarding action.
         
             -1     Indicates that no VLAN or forwarding behavior 
                    modification is desired. A rule will not be matched
                    against for the purpose of determining a marking
                    VID if this value is set.
         
             0      Indicates that the default forwarding action 
                    is to drop the packets matching this rule.
                    
             4095   Indicates that the default forwarding action
                    is to forward any packets matching this rule."
    ::= { etsysPolicyNonVolatileRuleEntry 10 }

etsysPolicyNonVolatileRuleResult2 OBJECT-TYPE
    SYNTAX      Integer32(-1|0..4095)
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
        "If the etsysPolicyRuleProfileIndex is 0 this field defines 
         the profile ID which the managing entity desires assigned to 
         frames matching this rule.  This is the administrative value
         and may differ from the dynamically assigned active value.

         If the etsysPolicyRuleProfileIndex is not 0 then this field is
         The CoS with which to mark a frame matching this 
         PolicyNonVolatileRule.

         Note that one special, otherwise illegal, value of the
         etsysPolicyNonVolatileRuleCoS is used in defining the 
         forwarding action.
         
             -1     Indicates that no CoS or forwarding behavior 
                    modification is desired. A rule will not be 
                    matched against for the purpose of determining 
                    a CoS if this value is set."
         
    ::= { etsysPolicyNonVolatileRuleEntry 11 }

etsysPolicyNonVolatileRuleAuditSyslogEnable OBJECT-TYPE
    SYNTAX      TriStateStatus
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
        "If enabled, a syslog message is sent when a bit in the
         etsysPolicyNonVolatileRuleUsageList transitions from 0 to 1."
    ::= { etsysPolicyNonVolatileRuleEntry 12 }

etsysPolicyNonVolatileRuleAuditTrapEnable OBJECT-TYPE
    SYNTAX      TriStateStatus
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
        "If enabled, an SNMP NOTIFICATION is sent when a bit in the
         etsysPolicyNonVolatileRuleUsageList transitions from 0 to 1."
    ::= { etsysPolicyNonVolatileRuleEntry 13 }

etsysPolicyNonVolatileRuleDisablePort OBJECT-TYPE
    SYNTAX      TriStateStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If enabled, a port is disabled (ifOperStatus of the
         corresponding ifIndex will be down) when a bit in the 
         etsysPolicyNonVolatileRuleUsageList transitions from 0 to 1."
    ::= { etsysPolicyNonVolatileRuleEntry 14 }

etsysPolicyNonVolatileRuleOperPid OBJECT-TYPE
    SYNTAX      Integer32(-1|0..4095)
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
        "If the etsysPolicyRuleProfileIndex is 0 then this field 
         contains the currently applied profile ID for frames
         matching this rule.  This may be either the administratively
         applied value or the dynamically applied value.

         If the etsysPolicyRuleProfileIndex is not 0, then this
         object will return -1.

         Note that one special value exists:
         
             -1     Indicates that no profile ID is being applied
                    by this rule."
    ::= { etsysPolicyNonVolatileRuleEntry 15 }

etsysPolicyNonVolatileRuleOverwriteTCI OBJECT-TYPE
    SYNTAX      TriStateStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If set, the information contained within the TCI field of
         inbound, tagged packets will not be used by the device after 
         the ingress classification stage of packet relay.  The net 
         effect will be that the TCI information may be used to classify
         the packet, but will be overwritten (and ignored) by subsequent
         stages of packet relay."
    ::= { etsysPolicyNonVolatileRuleEntry 16 }

etsysPolicyNonVolatileRuleMirrorIndex OBJECT-TYPE
    SYNTAX      Integer32 (-1|0|1..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A reference to a packet mirror destination (defined elsewhere).

         A value of (-1) indicates no mirror is specified, but a mirror is
         not explicitly prohibited.  
         
         A value of (0) indicates that mirroring is explicitly prohibited,
         unless a higher precedence rule has specified a mirror."
    ::= { etsysPolicyNonVolatileRuleEntry 17 }

etsysPolicyNonVolatileRuleQuarantineProfileIndex OBJECT-TYPE
    SYNTAX      Integer32 (-1|0|1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If the etsysPolicyRuleProfileIndex is not 0 this field defines 
         the profile ID which will be used as the quarantine provisioning 
         agents mux response for the mac address and port whose frames 
         matched this rule.

         A value of (-1) indicates no quarantine profile is specified, 
         but quarantine is not explicitly prohibited.  

         A value of (0) indicates that quarantine is explicitly prohibited.

         If the etsysPolicyRuleProfileIndex is 0 this field will always 
         return -1 when read."
    ::= { etsysPolicyNonVolatileRuleEntry 18 }     

-- -------------------------------------------------------------
-- etsysPolicyRFC3580Map group 
-- -------------------------------------------------------------

etsysPolicyRFC3580MapResolveReponseConflict OBJECT-TYPE
    SYNTAX      PolicyRFC3580MapRadiusResponseTC 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates which field to use in the application of the RADIUS
         response in the event that both the proprietary filter-id 
         indicating a policy profile and the standard (RFC3580) vlan-
         tunnel-attribute are present.  If policyProfile(1) is selected,
         then the filter-id will be used, if vlanTunnelAttribute(2) is 
         selected, then the vlan-tunnel-attribute will be used (and the
         policy-map will be applied, if present).  A value of 
         vlanTunnelAttributeWithPolicyProfile(3) indicates that both 
         attributes should be applied, in the following manner:  the 
         policyProfile should be enforced, with the exception of the 
         etsysPolicyProfilePortVid (if present), the returned 
         vlan-tunnel-attribute will be used in its place.  In this case, 
         the policy-map will be ignored (as the policyProfile was 
         explicitly assigned).  VLAN classification rules will still
         be applied, as defined by the assigned policyProfile.

         Modifications of this value will not effect the current status
         of any users currently authenticated.  The new state will be 
         applied to new, successful authentications.  The current status
         of current authentication may be modified through the 
         individual agents or through the ENTERASYS-MULTI-AUTH-MIB, if 
         supported."  
    DEFVAL { policyProfile }
    ::= { etsysPolicyRFC3580Map 1 }

etsysPolicyRFC3580MapLastChange OBJECT-TYPE
    SYNTAX      TimeTicks 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime when the etsysPolicyRFC3580MapTable was
         last modified."
    ::= { etsysPolicyRFC3580Map 2 }

etsysPolicyRFC3580MapTableDefault OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If read as True, then the etsysPolicyRFC3580MapTable is in the
         default state (no mappings have been created), if False, then 
         non-default mappings exist.
         If set to True, then the etsysPolicyRFC3580MapTable will be put
         into the default state (no mappings will exist).  A set to 
         False is not valid and MUST fail."
    ::= { etsysPolicyRFC3580Map 3 }

etsysPolicyRFC3580MapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyRFC3580MapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing VLAN ID to policy mappings. A policy is
         a group of classification rules which may be applied on a 
         per user basis, to ports or to stations."
    ::= { etsysPolicyRFC3580Map 4 }

etsysPolicyRFC3580MapEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyRFC3580MapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the 
         etsysPolicyRFC3580MapTable. Entries within this table MUST be
         considered non-volatile and MUST be maintained across 
         entity resets."
    INDEX  { etsysPolicyRFC3580MapVlanId }
    ::= { etsysPolicyRFC3580MapTable 1 }

EtsysPolicyRFC3580MapEntry ::=
    SEQUENCE {
        etsysPolicyRFC3580MapVlanId
             VlanIndex,
        etsysPolicyRFC3580MapPolicyIndex
             PolicyProfileIDTC
             }

etsysPolicyRFC3580MapVlanId OBJECT-TYPE
    SYNTAX      VlanIndex 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The VlanIndex which will map to the policy profile specified 
         by the etsysPolicyRFC3580MapPolicyIndex of this row.  This will
         be used to map the VLAN returned by value from the Tunnel-
         Private-Group-ID RADIUS attribute."
    REFERENCE
        "IEEE 802.1X RADIUS Usage Guidelines (RFC 3580)"
    ::= { etsysPolicyRFC3580MapEntry 1 }

   etsysPolicyRFC3580MapPolicyIndex OBJECT-TYPE
    SYNTAX      PolicyProfileIDTC (0|1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The index of a Policy Profle as defined in the 
         etsysPolicyProfileTable.  

         A value of 0 indicates that the row is functionally non-
         operational (no mapping exists).  Devices which support the 
         ENTERASYS-VLAN-AUTHORIZATION-MIB, and for which the value of
         etsysVlanAuthorizationEnable is Enabled and the value of
         etsysVlanAuthorizationStatus is Enabled on the port referenced
         by the authorization request, should then use the VlanIndex
         provisioned (e.g. from the Tunnel-Private-Group-ID RADIUS 
         attribute) as defined by RFC3580, otherwise, the device should
         treat the result as if no matching Policy Profile had been 
         found (e.g. as a simple success).  In the case where a
         Policy Profile is already being applied to the referenced 
         station, but no mapping exists, the device MUST treat the 
         Tunnel-Private-Group-ID as an override to the 
         etsysPolicyProfilePortVid defined by that profile (any matched
         classification rules which explicit provision a VLAN MUST still
         override both the etsysPolicyProfilePortVid and the 
         Tunnel-Private-Group-ID.)
         
         A non-zero value of this object indicates that the VlanIndex
         provisioned (e.g. from the Tunnel-Private-Group-ID RADIUS 
         attribute) should be mapped to a Policy Profile as defined in 
         the etsysPolicyProfileTable, and that policy applied as if 
         the Policy name had been provisioned instead (e.g, in the
         Filter-ID RADIUS attribute).  If the mapping references a
         non-existent row of the etsysPolicyProfileTable, or the 
         referenced row has a etsysPolicyProfileRowStatus value other
         than Active, the device MUST behave as if the mapping did not
         exist (apply the vlan-tunnel-attribute).  The 
         etsysPolicyRFC3580MapInvalidMapping MUST then be incremented."

    REFERENCE
         "IEEE 802.1X RADIUS Usage Guidelines (RFC 3580)"
    DEFVAL { 0 }
    ::= { etsysPolicyRFC3580MapEntry 2 }

etsysPolicyRFC3580MapInvalidMapping OBJECT-TYPE
    SYNTAX      Counter32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Increments to indicate the number of times the device has
         detected an invalid/unknown EtsysPolicyRFC3580MapEntry 
         (i.e. one that references an in-active or non-existent
         etsysPolicyProfile)."
    ::= { etsysPolicyRFC3580Map 5 }

-- -------------------------------------------------------------
-- etsysPolicyHttpRedirect group
-- -------------------------------------------------------------

etsysPolicyHttpRedirectMaxNumSockets OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The maximum number of TCP port numbers the device may 
         listen on simultaneously for HTTP redirection."
    ::= { etsysPolicyHttpRedirect 1 }

etsysPolicyHttpRedirectNumServerGroups OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The number of server groups in the
         etsysPolicyHttpRedirectServerTable."
    ::= { etsysPolicyHttpRedirect 2 }

etsysPolicyHttpRedirectMaxNumServer OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The number of servers that may be configured per 
         server group in the etsysPolicyHttpRedirectServerTable."
    ::= { etsysPolicyHttpRedirect 3 }

etsysPolicyHttpRedirectSocketTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyHttpRedirectSocketEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing TCP sockets the device will listen on
         for HTTP traffic to redirect.  Entries within
         this table MUST be considered non-volatile and MUST be 
         maintained across entity resets."
    ::= { etsysPolicyHttpRedirect 4 }

etsysPolicyHttpRedirectSocketEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyHttpRedirectSocketEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually specifies a TCP socket the device will listen on
         for HTTP traffic to redirect."
    INDEX  { etsysPolicyHttpRedirectSocketIndex }
    ::= { etsysPolicyHttpRedirectSocketTable 1 }
 
EtsysPolicyHttpRedirectSocketEntry ::=
    SEQUENCE {
        etsysPolicyHttpRedirectSocketIndex
             Integer32,
        etsysPolicyHttpRedirectListenSocket
             InetPortNumber
        }

etsysPolicyHttpRedirectSocketIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..10)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An arbitrary index from 1 to 
         etsysPolicyHttpRedirectMaxNumSockets."
    ::= { etsysPolicyHttpRedirectSocketEntry 1 }

etsysPolicyHttpRedirectListenSocket  OBJECT-TYPE
    SYNTAX      InetPortNumber
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "TCP port number (1-65535) that the device will listen on for 
         HTTP traffic suitable for redirection.  A value of 0 indicates
         that this entry does not specify a TCP socket to listen on."
    DEFVAL      { 0 }
    ::= { etsysPolicyHttpRedirectSocketEntry 2 }

etsysPolicyHttpRedirectServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysPolicyHttpRedirectServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing HTTP redirect server group entries."
    ::= { etsysPolicyHttpRedirect 5 }

etsysPolicyHttpRedirectServerEntry OBJECT-TYPE
    SYNTAX      EtsysPolicyHttpRedirectServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a HTTP redirect server group.  Within each
         group, one or more redirect servers may be defined.  HTTP
         redirects will be sent to different servers within a group
         using a round-robin algorithm.  Entries within this table MUST 
         be considered non-volatile and MUST be maintained across entity 
         resets."
    INDEX  { etsysPolicyHttpRedirectGroupIndex,
             etsysPolicyHttpRedirectServerIndex }
    ::= { etsysPolicyHttpRedirectServerTable 1 }

EtsysPolicyHttpRedirectServerEntry ::=
    SEQUENCE {
        etsysPolicyHttpRedirectGroupIndex
             Integer32,
        etsysPolicyHttpRedirectServerIndex
             Integer32,
        etsysPolicyHttpRedirectServerUri
             Uri,
        etsysPolicyHttpRedirectServerStatus
             EnabledStatus
        }

etsysPolicyHttpRedirectGroupIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index referenced by etsysPolicyProfileHttpRedirectIndex
         to identify a particular HTTP redirect server group.  The 
         maximum value of this index is specified by the 
         etsysPolicyHttpRedirectNumServerGroups object."
    ::= { etsysPolicyHttpRedirectServerEntry 1 }

etsysPolicyHttpRedirectServerIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index for a particular server within the redirect 
         group.  The maximum value of this index is specified by the 
         etsysPolicyHttpRedirectMaxNumServer object."
    ::= { etsysPolicyHttpRedirectServerEntry 2 }

etsysPolicyHttpRedirectServerUri  OBJECT-TYPE
    SYNTAX      Uri
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The absolute URI on the redirect server to redirect the user to. 
         This object MUST specify the scheme, authority and path.  The URI
         may optionally include a query and/or fragment portions as well."
    REFERENCE
        "RFC3986 (Uniform Resource Identifier (URI): Generic Syntax)"
    DEFVAL      { ''H }
    ::= { etsysPolicyHttpRedirectServerEntry 3 }

etsysPolicyHttpRedirectServerStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A value of enabled(1) causes the entry to be made ready for use
         in redirecting HTTP traffic.  A set of enabled(1) will only 
         succeed if the the other entries with STATUS of read-write in 
         table have been set to appropriate non-default values."
    DEFVAL      { disabled }
    ::= { etsysPolicyHttpRedirectServerEntry 4 }

-- -------------------------------------------------------------
-- etsysPolicySystem group
-- -------------------------------------------------------------

etsysPolicyEnabledState OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls the enabling and disabling the entire Policy 
         application.
        
         A value of enabled(1) indicates that all objects in this MIB
         module are actively being applied on the device.
         A value of disabled(2) indicates that none of the objects 
         in this MIB are actively being applied.  

         The agent may optionally implement this leaf as read-only.
         All other objects in this MIB module MUST remain available and
         configurable regardless of the current value of this object.
         This object MUST be considered non-volatile and its value MUST 
         be maintained across entity resets."
    ::= { etsysPolicySystem 1 }

-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysPolicyProfileConformance OBJECT IDENTIFIER 
                          ::= { etsysPolicyProfileMIB 7 }

etsysPolicyProfileGroups OBJECT IDENTIFIER 
                          ::= { etsysPolicyProfileConformance 1 }

etsysPolicyProfileCompliances OBJECT IDENTIFIER 
                          ::= { etsysPolicyProfileConformance 2 }


-- -------------------------------------------------------------
-- Units of Conformance
-- -------------------------------------------------------------

etsysPolicyProfileGroup OBJECT-GROUP
    OBJECTS {
                etsysPolicyProfileMaxEntries,
                etsysPolicyProfileNumEntries,
                etsysPolicyProfileLastChange,
                etsysPolicyProfileTableNextAvailableIndex,
                etsysPolicyProfileName,
                etsysPolicyProfileRowStatus,
                etsysPolicyProfilePortVidStatus,
                etsysPolicyProfilePortVid,
                etsysPolicyProfilePriorityStatus,
                etsysPolicyProfilePriority,
                etsysPolicyProfileEgressVlans,
                etsysPolicyProfileForbiddenVlans,
                etsysPolicyProfileUntaggedVlans,
                etsysPolicyProfileOverwriteTCI,
                etsysPolicyProfileRulePrecedence,
                etsysPolicyProfileVlanRFC3580Mappings
            }
    STATUS  deprecated
    DESCRIPTION
        "A collection of objects providing Policy Profile Creation."
    ::= { etsysPolicyProfileGroups 1 }

etsysPolicyClassificationGroup OBJECT-GROUP
    OBJECTS {
                etsysPolicyClassificationMaxEntries,
                etsysPolicyClassificationNumEntries,
                etsysPolicyClassificationLastChange,
                etsysPolicyClassificationOID,
                etsysPolicyClassificationRowStatus,
                etsysPolicyClassificationIngressList
            }

    STATUS  deprecated
    DESCRIPTION
        "A collection of objects providing a mapping between a set 
         of Classification Rules and a Policy Profile."
    ::= { etsysPolicyProfileGroups 2 }

etsysPortPolicyProfileGroup OBJECT-GROUP
    OBJECTS {
                etsysPortPolicyProfileLastChange,
                etsysPortPolicyProfileAdminID,
                etsysPortPolicyProfileOperID,
                etsysPortPolicyProfileSummaryAdminID,
                etsysPortPolicyProfileSummaryOperID
            }
    STATUS  deprecated
    DESCRIPTION
        "A collection of objects providing a mapping from a 
         specific port to a Policy Profile instance.  Only 
         the read-only portions of this group are now current.
         They are listed under etsysPortPolicyProfileGroup2."
    ::= { etsysPolicyProfileGroups 3 }

etsysStationPolicyProfileGroup OBJECT-GROUP
    OBJECTS {
                etsysStationPolicyProfileMaxEntries,
                etsysStationPolicyProfileNumEntries,
                etsysStationPolicyProfileLastChange,
                etsysStationIdentifierType,
                etsysStationIdentifier,
                etsysStationPolicyProfileOperID,
                etsysStationPolicyProfilePortType,
                etsysStationPolicyProfilePortID
            }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing a mapping from a 
         specific station to a Policy Profile instance."
    ::= { etsysPolicyProfileGroups 5 }

 etsysInvalidPolicyPolicyGroup OBJECT-GROUP
    OBJECTS {
                etsysInvalidPolicyAction,
                etsysInvalidPolicyCount
            }
    STATUS  current
    DESCRIPTION
        "A collection of objects that help to define a mapping
         from logical authorization services outcomes to access
         control and policy actions."
    ::= { etsysPolicyProfileGroups 6 }

etsysDevicePolicyProfileGroup OBJECT-GROUP
    OBJECTS {
                etsysDevicePolicyProfileDefault
            }
    STATUS  current
    DESCRIPTION
        "An object that provides a device level supplemental policy
         for entities that are not able to apply portions of the
         profile definition uniquely on individual ports."
    ::= { etsysPolicyProfileGroups 7 }

etsysPolicyCapabilitiesGroup OBJECT-GROUP
    OBJECTS {
                etsysPolicyCapabilities,
                etsysPolicyVlanRuleCapabilities,
                etsysPolicyCosRuleCapabilities,
                etsysPolicyDropRuleCapabilities,
                etsysPolicyForwardRuleCapabilities,
                etsysPolicyDynaPIDRuleCapabilities ,
                etsysPolicyAdminPIDRuleCapabilities,
                etsysPolicySyslogRuleCapabilities,
                etsysPolicyTrapRuleCapabilities,
                etsysPolicyDisablePortRuleCapabilities,
                etsysPolicySupportedPortList,
                etsysPolicyEnabledSupportedRuleTypes,
                etsysPolicyEnabledEnabledRuleTypes
            }
    STATUS  deprecated
    DESCRIPTION
        "An object that indicates the capabilities of the managed
         entity with respect to Policy Profiles."
    ::= { etsysPolicyProfileGroups 8 }

etsysPolicyMapGroup  OBJECT-GROUP
    OBJECTS {
                 etsysPolicyMapMaxEntries,
                 etsysPolicyMapNumEntries,
                 etsysPolicyMapLastChange,
                 etsysPolicyMapPvidOverRide,
                 etsysPolicyMapUnknownPvidPolicy,
                 etsysPolicyMapRowStatus,
                 etsysPolicyMapStartVid,
                 etsysPolicyMapEndVid,
                 etsysPolicyMapPolicyIndex
            }
    STATUS  obsolete
    DESCRIPTION
        "This object group has been obsoleted."
    ::= { etsysPolicyProfileGroups 9 }

etsysPolicyRulesGroup OBJECT-GROUP
    OBJECTS {
                etsysPolicyRulesMaxEntries,
                etsysPolicyRulesNumEntries,
                etsysPolicyRulesLastChange,
                etsysPolicyRulesAccountingEnable,
                etsysPolicyRulesPortDisabledList,
                etsysPolicyRuleRowStatus,
                etsysPolicyRuleStorageType,
                etsysPolicyRuleUsageList,
                etsysPolicyRuleResult1,
                etsysPolicyRuleResult2,
                etsysPolicyRuleAuditSyslogEnable,
                etsysPolicyRuleAuditTrapEnable,
                etsysPolicyRuleDisablePort,
                etsysPolicyRuleOperPid,
                etsysPolicyRulePortHit,
                etsysPolicyRuleDynamicProfileAssignmentOverride, 
                etsysPolicyRuleDefaultDynamicSyslogStatus,
                etsysPolicyRuleDefaultDynamicTrapStatus,
                etsysPolicyRuleStatsAutoClearOnLink,
                etsysPolicyRuleStatsAutoClearInterval,
                etsysPolicyRuleStatsAutoClearPorts,
                etsysPolicyRuleStatsAutoClearOnProfile
            }
    STATUS  deprecated
    DESCRIPTION
        "An object that indicates the capabilities of the managed
         entity with respect to Policy Profiles."
    ::= { etsysPolicyProfileGroups 10 }

etsysPortPolicyProfileGroup2 OBJECT-GROUP
    OBJECTS {
                etsysPortPolicyProfileSummaryAdminID,
                etsysPortPolicyProfileSummaryOperID,
                etsysPortPolicyProfileSummaryDynamicID
            }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing a mapping from a 
         specific port to a Policy Profile instance."
    ::= { etsysPolicyProfileGroups 11 }

etsysPolicyRFC3580MapGroup  OBJECT-GROUP
    OBJECTS {
                 etsysPolicyRFC3580MapResolveReponseConflict,
                 etsysPolicyRFC3580MapLastChange,
                 etsysPolicyRFC3580MapTableDefault,
                 etsysPolicyRFC3580MapPolicyIndex,
                 etsysPolicyRFC3580MapInvalidMapping
            }
    STATUS  current
    DESCRIPTION
        "An object group that provides support for mapping between RFC
         3580 style VLAN-policy and Extreme UPN-policy based on named
         roles."
    ::= { etsysPolicyProfileGroups 12 }

etsysPolicyCapabilitiesGroup2 OBJECT-GROUP
    OBJECTS {
                etsysPolicyCapabilities,
                etsysPolicyVlanRuleCapabilities,
                etsysPolicyCosRuleCapabilities,
                etsysPolicyDropRuleCapabilities,
                etsysPolicyForwardRuleCapabilities,
                etsysPolicyDynaPIDRuleCapabilities ,
                etsysPolicyAdminPIDRuleCapabilities,
                etsysPolicySyslogRuleCapabilities,
                etsysPolicyTrapRuleCapabilities,
                etsysPolicyDisablePortRuleCapabilities,
                etsysPolicySupportedPortList,
                etsysPolicyEnabledSupportedRuleTypes,
                etsysPolicyEnabledEnabledRuleTypes,
                etsysPolicyRuleAttributeByteLength,
                etsysPolicyRuleAttributeBitLength,
                etsysPolicyRuleAttributeMaxCreatable
            }
    STATUS  deprecated
    DESCRIPTION
        "An object that indicates the capabilities of 
         the managed entity with respect to Policy Profiles and
         defines the characteristics of policy rule data by rule 
         type."
    ::= { etsysPolicyProfileGroups 13 }

etsysPolicyRulesGroup2 OBJECT-GROUP
    OBJECTS {
                etsysPolicyRulesMaxEntries,
                etsysPolicyRulesNumEntries,
                etsysPolicyRulesLastChange,
                etsysPolicyRulesAccountingEnable,
                etsysPolicyRulesPortDisabledList,
                etsysPolicyRuleRowStatus,
                etsysPolicyRuleStorageType,
                etsysPolicyRuleUsageList,
                etsysPolicyRuleResult1,
                etsysPolicyRuleResult2,
                etsysPolicyRuleAuditSyslogEnable,
                etsysPolicyRuleAuditTrapEnable,
                etsysPolicyRuleDisablePort,
                etsysPolicyRuleOperPid,
                etsysPolicyRulePortHit,
                etsysPolicyRuleDynamicProfileAssignmentOverride, 
                etsysPolicyRuleDefaultDynamicSyslogStatus,
                etsysPolicyRuleDefaultDynamicTrapStatus,
                etsysPolicyRuleStatsAutoClearOnLink,
                etsysPolicyRuleStatsAutoClearInterval,
                etsysPolicyRuleStatsAutoClearPorts,
                etsysPolicyRuleStatsAutoClearOnProfile,
                etsysPolicyRuleStatsDroppedNotifications,
                etsysPolicyRuleSylogMachineReadableFormat
            }
    STATUS  deprecated
    DESCRIPTION
        "********* THIS GROUP IS DEPRECATED **********

         An object that indicates the capabilities of the managed
         entity with respect to Policy Profiles."
    ::= { etsysPolicyProfileGroups 14 }

etsysPolicyRulePortHitNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
                etsysPolicyRulePortHitNotification
            }
    STATUS  current
    DESCRIPTION
        "An object group that provides support for traps sent from the 
         etsysPolicyRulePortHit event."
    ::= { etsysPolicyProfileGroups 15 }

etsysPolicyRulesGroup3 OBJECT-GROUP
    OBJECTS {
                etsysPolicyRulesMaxEntries,
                etsysPolicyRulesNumEntries,
                etsysPolicyRulesLastChange,
                etsysPolicyRulesAccountingEnable,
                etsysPolicyRulesPortDisabledList,
                etsysPolicyRuleRowStatus,
                etsysPolicyRuleStorageType,
                etsysPolicyRuleUsageList,
                etsysPolicyRuleResult1,
                etsysPolicyRuleResult2,
                etsysPolicyRuleAuditSyslogEnable,
                etsysPolicyRuleAuditTrapEnable,
                etsysPolicyRuleDisablePort,
                etsysPolicyRuleOperPid,
                etsysPolicyRulePortHit,
                etsysPolicyRuleDynamicProfileAssignmentOverride,
                etsysPolicyRuleDefaultDynamicSyslogStatus,
                etsysPolicyRuleDefaultDynamicTrapStatus,
                etsysPolicyRuleStatsAutoClearOnLink,
                etsysPolicyRuleStatsAutoClearInterval,
                etsysPolicyRuleStatsAutoClearPorts,
                etsysPolicyRuleStatsAutoClearOnProfile,
                etsysPolicyRuleStatsDroppedNotifications,
                etsysPolicyRuleSylogMachineReadableFormat,
                etsysPolicyRuleSylogExtendedFormat
            }
    STATUS  deprecated
    DESCRIPTION
        "An object that indicates the capabilities of the managed
         entity with respect to Policy Profiles."
    ::= { etsysPolicyProfileGroups 16 }

etsysPolicyRulesGroup4 OBJECT-GROUP
    OBJECTS {
                etsysPolicyRulesMaxEntries,
                etsysPolicyRulesNumEntries,
                etsysPolicyRulesLastChange,
                etsysPolicyRulesAccountingEnable,
                etsysPolicyRulesPortDisabledList,
                etsysPolicyRuleRowStatus,
                etsysPolicyRuleStorageType,
                etsysPolicyRuleUsageList,
                etsysPolicyRuleResult1,
                etsysPolicyRuleResult2,
                etsysPolicyRuleAuditSyslogEnable,
                etsysPolicyRuleAuditTrapEnable,
                etsysPolicyRuleDisablePort,
                etsysPolicyRuleOperPid,
                etsysPolicyRulePortHit,
                etsysPolicyRuleDynamicProfileAssignmentOverride,
                etsysPolicyRuleDefaultDynamicSyslogStatus,
                etsysPolicyRuleDefaultDynamicTrapStatus,
                etsysPolicyRuleStatsAutoClearOnLink,
                etsysPolicyRuleStatsAutoClearInterval,
                etsysPolicyRuleStatsAutoClearPorts,
                etsysPolicyRuleStatsAutoClearOnProfile,
                etsysPolicyRuleStatsDroppedNotifications,
                etsysPolicyRuleSylogMachineReadableFormat,
                etsysPolicyRuleSylogExtendedFormat,
                etsysPolicyRuleOverwriteTCI,
                etsysPolicyRuleMirrorIndex
            }
    STATUS  deprecated
    DESCRIPTION
        "An object that indicates the capabilities of the managed
         entity with respect to Policy Profiles."
    ::= { etsysPolicyProfileGroups 17 }

etsysPolicyCapabilitiesGroup3 OBJECT-GROUP
    OBJECTS {
                etsysPolicyCapabilities,
                etsysPolicyVlanRuleCapabilities,
                etsysPolicyCosRuleCapabilities,
                etsysPolicyDropRuleCapabilities,
                etsysPolicyForwardRuleCapabilities,
                etsysPolicyDynaPIDRuleCapabilities ,
                etsysPolicyAdminPIDRuleCapabilities,
                etsysPolicySyslogRuleCapabilities,
                etsysPolicyTrapRuleCapabilities,
                etsysPolicyDisablePortRuleCapabilities,
                etsysPolicySupportedPortList,
                etsysPolicyEnabledSupportedRuleTypes,
                etsysPolicyEnabledEnabledRuleTypes,
                etsysPolicyRuleAttributeByteLength,
                etsysPolicyRuleAttributeBitLength,
                etsysPolicyRuleAttributeMaxCreatable,
                etsysPolicyRuleTciOverwriteCapabilities,
                etsysPolicyRuleMirrorCapabilities
            }
    STATUS  deprecated
    DESCRIPTION
        "An object that indicates the capabilities of
         the managed entity with respect to Policy Profiles and
         defines the characteristics of policy rule data by rule
         type."
    ::= { etsysPolicyProfileGroups 18 }

etsysPolicyProfileGroup2 OBJECT-GROUP
    OBJECTS {
                etsysPolicyProfileMaxEntries,
                etsysPolicyProfileNumEntries,
                etsysPolicyProfileLastChange,
                etsysPolicyProfileTableNextAvailableIndex,
                etsysPolicyProfileName,
                etsysPolicyProfileRowStatus,
                etsysPolicyProfilePortVidStatus,
                etsysPolicyProfilePortVid,
                etsysPolicyProfilePriorityStatus,
                etsysPolicyProfilePriority,
                etsysPolicyProfileEgressVlans,
                etsysPolicyProfileForbiddenVlans,
                etsysPolicyProfileUntaggedVlans,
                etsysPolicyProfileOverwriteTCI,
                etsysPolicyProfileRulePrecedence,
                etsysPolicyProfileVlanRFC3580Mappings,
                etsysPolicyProfileMirrorIndex,
                etsysPolicyProfileAuditSyslogEnable,
                etsysPolicyProfileAuditTrapEnable,
                etsysPolicyProfileDisablePort
            }
    STATUS  deprecated
    DESCRIPTION
        "A collection of objects providing Policy Profile Creation."
    ::= { etsysPolicyProfileGroups 19 }

etsysPolicyRulesGroup5 OBJECT-GROUP
    OBJECTS {
                etsysPolicyRulesMaxEntries,
                etsysPolicyRulesNumEntries,
                etsysPolicyRulesLastChange,
                etsysPolicyRulesAccountingEnable,
                etsysPolicyRulesPortDisabledList,
                etsysPolicyRuleRowStatus,
                etsysPolicyRuleStorageType,
                etsysPolicyRuleUsageList,
                etsysPolicyRuleResult1,
                etsysPolicyRuleResult2,
                etsysPolicyRuleAuditSyslogEnable,
                etsysPolicyRuleAuditTrapEnable,
                etsysPolicyRuleDisablePort,
                etsysPolicyRuleOperPid,
                etsysPolicyRulePortHit,
                etsysPolicyRuleDynamicProfileAssignmentOverride,
                etsysPolicyRuleDefaultDynamicSyslogStatus,
                etsysPolicyRuleDefaultDynamicTrapStatus,
                etsysPolicyRuleStatsAutoClearOnLink,
                etsysPolicyRuleStatsAutoClearInterval,
                etsysPolicyRuleStatsAutoClearPorts,
                etsysPolicyRuleStatsAutoClearOnProfile,
                etsysPolicyRuleStatsDroppedNotifications,
                etsysPolicyRuleSylogMachineReadableFormat,
                etsysPolicyRuleSylogExtendedFormat,
                etsysPolicyRuleSylogEveryTime,
                etsysPolicyRuleOverwriteTCI,
                etsysPolicyRuleMirrorIndex
             }
    STATUS  deprecated
    DESCRIPTION
        "An object that indicates the capabilities of the managed
         entity with respect to Policy Profiles."
    ::= { etsysPolicyProfileGroups 20 }

etsysPolicyCapabilitiesGroup4 OBJECT-GROUP
    OBJECTS {
                etsysPolicyCapabilities,
                etsysPolicyVlanRuleCapabilities,
                etsysPolicyCosRuleCapabilities,
                etsysPolicyDropRuleCapabilities,
                etsysPolicyForwardRuleCapabilities,
                etsysPolicyDynaPIDRuleCapabilities ,
                etsysPolicyAdminPIDRuleCapabilities,
                etsysPolicySyslogRuleCapabilities,
                etsysPolicyTrapRuleCapabilities,
                etsysPolicyDisablePortRuleCapabilities,
                etsysPolicySupportedPortList,
                etsysPolicyEnabledSupportedRuleTypes,
                etsysPolicyEnabledEnabledRuleTypes,
                etsysPolicyEnabledEgressEnabled,
                etsysPolicyRuleAttributeByteLength,
                etsysPolicyRuleAttributeBitLength,
                etsysPolicyRuleAttributeMaxCreatable,
                etsysPolicyRuleTciOverwriteCapabilities,
                etsysPolicyRuleMirrorCapabilities
            }
    STATUS  deprecated
    DESCRIPTION
        "An object that indicates the capabilities of
         the managed entity with respect to Policy Profiles and
         defines the characteristics of policy rule data by rule
         type."
    ::= { etsysPolicyProfileGroups 21 }

etsysPolicyProfileGroup3 OBJECT-GROUP
    OBJECTS {
                etsysPolicyProfileMaxEntries,
                etsysPolicyProfileNumEntries,
                etsysPolicyProfileLastChange,
                etsysPolicyProfileTableNextAvailableIndex,
                etsysPolicyProfileName,
                etsysPolicyProfileRowStatus,
                etsysPolicyProfilePortVidStatus,
                etsysPolicyProfilePortVid,
                etsysPolicyProfilePriorityStatus,
                etsysPolicyProfilePriority,
                etsysPolicyProfileEgressVlans,
                etsysPolicyProfileForbiddenVlans,
                etsysPolicyProfileUntaggedVlans,
                etsysPolicyProfileOverwriteTCI,
                etsysPolicyProfileRulePrecedence,
                etsysPolicyProfileVlanRFC3580Mappings,
                etsysPolicyProfileMirrorIndex,
                etsysPolicyProfileAuditSyslogEnable,
                etsysPolicyProfileAuditTrapEnable,
                etsysPolicyProfileDisablePort,
                etsysPolicyProfileUsageList
            }
    STATUS  deprecated
    DESCRIPTION
        "********* THIS GROUP IS DEPRECATED **********

         A collection of objects providing Policy Profile Creation."
    ::= { etsysPolicyProfileGroups 22 }

etsysPolicyProfileGroup4 OBJECT-GROUP
    OBJECTS {
                etsysPolicyProfileMaxEntries,
                etsysPolicyProfileNumEntries,
                etsysPolicyProfileLastChange,
                etsysPolicyProfileTableNextAvailableIndex,
                etsysPolicyProfileName,
                etsysPolicyProfileRowStatus,
                etsysPolicyProfilePortVidStatus,
                etsysPolicyProfilePortVid,
                etsysPolicyProfilePriorityStatus,
                etsysPolicyProfilePriority,
                etsysPolicyProfileEgressVlans,
                etsysPolicyProfileForbiddenVlans,
                etsysPolicyProfileUntaggedVlans,
                etsysPolicyProfileOverwriteTCI,
                etsysPolicyProfileRulePrecedence,
                etsysPolicyProfileVlanRFC3580Mappings,
                etsysPolicyProfileMirrorIndex,
                etsysPolicyProfileAuditSyslogEnable,
                etsysPolicyProfileAuditTrapEnable,
                etsysPolicyProfileDisablePort,
                etsysPolicyProfileUsageList,
                etsysPolicyProfileFstIndex
            }
    STATUS  deprecated
    DESCRIPTION
        "A collection of objects providing Policy Profile Creation."
    ::= { etsysPolicyProfileGroups 23 }

etsysPolicyRulesGroup6 OBJECT-GROUP
    OBJECTS {
                etsysPolicyRulesMaxEntries,
                etsysPolicyRulesNumEntries,
                etsysPolicyRulesLastChange,
                etsysPolicyRulesAccountingEnable,
                etsysPolicyRulesPortDisabledList,
                etsysPolicyRuleRowStatus,
                etsysPolicyRuleStorageType,
                etsysPolicyRuleUsageList,
                etsysPolicyRuleResult1,
                etsysPolicyRuleResult2,
                etsysPolicyRuleAuditSyslogEnable,
                etsysPolicyRuleAuditTrapEnable,
                etsysPolicyRuleDisablePort,
                etsysPolicyRuleOperPid,
                etsysPolicyRulePortHit,
                etsysPolicyRuleDynamicProfileAssignmentOverride,
                etsysPolicyRuleDefaultDynamicSyslogStatus,
                etsysPolicyRuleDefaultDynamicTrapStatus,
                etsysPolicyRuleStatsAutoClearOnLink,
                etsysPolicyRuleStatsAutoClearInterval,
                etsysPolicyRuleStatsAutoClearPorts,
                etsysPolicyRuleStatsAutoClearOnProfile,
                etsysPolicyRuleStatsDroppedNotifications,
                etsysPolicyRuleSylogMachineReadableFormat,
                etsysPolicyRuleSylogExtendedFormat,
                etsysPolicyRuleSylogEveryTime,
                etsysPolicyRuleOverwriteTCI,
                etsysPolicyRuleMirrorIndex,
                etsysPolicyRuleQuarantineProfileIndex
             }
    STATUS  current
    DESCRIPTION
        "An object that indicates the capabilities of the managed
         entity with respect to Policy Profiles."
    ::= { etsysPolicyProfileGroups 24 }

etsysPolicyCapabilitiesGroup5 OBJECT-GROUP
    OBJECTS {
                etsysPolicyCapabilities,
                etsysPolicyVlanRuleCapabilities,
                etsysPolicyCosRuleCapabilities,
                etsysPolicyDropRuleCapabilities,
                etsysPolicyForwardRuleCapabilities,
                etsysPolicyDynaPIDRuleCapabilities ,
                etsysPolicyAdminPIDRuleCapabilities,
                etsysPolicySyslogRuleCapabilities,
                etsysPolicyTrapRuleCapabilities,
                etsysPolicyDisablePortRuleCapabilities,
                etsysPolicySupportedPortList,
                etsysPolicyEnabledSupportedRuleTypes,
                etsysPolicyEnabledEnabledRuleTypes,
                etsysPolicyEnabledEgressEnabled,
                etsysPolicyRuleAttributeByteLength,
                etsysPolicyRuleAttributeBitLength,
                etsysPolicyRuleAttributeMaxCreatable,
                etsysPolicyRuleTciOverwriteCapabilities,
                etsysPolicyRuleMirrorCapabilities,
                etsysPolicyRuleQuarantineCapabilities
            }
    STATUS  current
    DESCRIPTION
        "An object that indicates the capabilities of
         the managed entity with respect to Policy Profiles and
         defines the characteristics of policy rule data by rule
         type."
    ::= { etsysPolicyProfileGroups 25 }

etsysPolicyNonVolatileRulesGroup OBJECT-GROUP
    OBJECTS {
                etsysPolicyNonVolatileRulesLastChange,
                etsysPolicyNonVolatileRuleRowStatus,
                etsysPolicyNonVolatileRuleStorageType,
                etsysPolicyNonVolatileRuleUsageList,
                etsysPolicyNonVolatileRuleResult1,
                etsysPolicyNonVolatileRuleResult2,
                etsysPolicyNonVolatileRuleAuditSyslogEnable,
                etsysPolicyNonVolatileRuleAuditTrapEnable,
                etsysPolicyNonVolatileRuleDisablePort,
                etsysPolicyNonVolatileRuleOperPid,
                etsysPolicyNonVolatileRuleOverwriteTCI,
                etsysPolicyNonVolatileRuleMirrorIndex,
                etsysPolicyNonVolatileRuleQuarantineProfileIndex
             }
    STATUS  current
    DESCRIPTION
        "An object that indicates the capabilities of the managed
         entity with respect to Policy Non-Volatile Rules."
    ::= { etsysPolicyProfileGroups 26 }

etsysPolicyProfileGroup5 OBJECT-GROUP
    OBJECTS {
                etsysPolicyProfileMaxEntries,
                etsysPolicyProfileNumEntries,
                etsysPolicyProfileLastChange,
                etsysPolicyProfileTableNextAvailableIndex,
                etsysPolicyProfileName,
                etsysPolicyProfileRowStatus,
                etsysPolicyProfilePortVidStatus,
                etsysPolicyProfilePortVid,
                etsysPolicyProfilePriorityStatus,
                etsysPolicyProfilePriority,
                etsysPolicyProfileEgressVlans,
                etsysPolicyProfileForbiddenVlans,
                etsysPolicyProfileUntaggedVlans,
                etsysPolicyProfileOverwriteTCI,
                etsysPolicyProfileRulePrecedence,
                etsysPolicyProfileVlanRFC3580Mappings,
                etsysPolicyProfileMirrorIndex,
                etsysPolicyProfileAuditSyslogEnable,
                etsysPolicyProfileAuditTrapEnable,
                etsysPolicyProfileDisablePort,
                etsysPolicyProfileUsageList,
                etsysPolicyProfileFstIndex,
                etsysPolicyProfileHttpRedirectIndex
            }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing Policy Profile Creation."
    ::= { etsysPolicyProfileGroups 27 }

etsysPolicyHttpRedirectGroup OBJECT-GROUP
    OBJECTS {
                etsysPolicyHttpRedirectMaxNumSockets,
                etsysPolicyHttpRedirectNumServerGroups,
                etsysPolicyHttpRedirectMaxNumServer,
                etsysPolicyHttpRedirectListenSocket,
                etsysPolicyHttpRedirectServerUri,
                etsysPolicyHttpRedirectServerStatus,
                etsysPolicyRuleHttpRedirectIndex
            }
    STATUS  current
    DESCRIPTION
        "A collection of objects providing HTTP Redirect configuration 
         and status."
    ::= { etsysPolicyProfileGroups 28 }

etsysPolicySystemGroup OBJECT-GROUP
    OBJECTS {
                etsysPolicyEnabledState
            }
    STATUS  current
    DESCRIPTION
        "A collection of objects pertaining to system level configuration
         of the policy application."
    ::= { etsysPolicyProfileGroups 29 }

-- -------------------------------------------------------------
-- compliance statements
-- -------------------------------------------------------------

etsysPolicyProfileCompliance MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy 
         Profiles.

         This compliance statement was deprecated to add
         mandatory support for the etsysPolicyCapabilitiesGroup
         and conditionally mandatory support for the
         etsysDevicePolicyProfileGroup."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup, 
                       etsysPortPolicyProfileGroup }

    GROUP etsysPolicyClassificationGroup
    DESCRIPTION
        "The etsysPolicyClassification group is mandatory only
         for agents which support advanced packet classification."  
         
    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."
         
    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION  
         "The etsysInvalidPolicyPolicyGroup is mandatory only 
         for agents which support provisioning of policy based on 
         AAA services such as RADIUS."

    ::= { etsysPolicyProfileCompliances 1 }

etsysPolicyProfileCompliance2 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy 
         Profiles.

         This compliance state was deprecated to remove the
         conditional support of the etsysPolicyClassificationGroup,
         and  add support for the etsysPolicyRFC3580MapGroup and the 
         etsysPolicyRulesGroup."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup, 
                       etsysPortPolicyProfileGroup,
                       etsysPolicyCapabilitiesGroup }

    GROUP etsysPolicyClassificationGroup
    DESCRIPTION
        "The etsysPolicyClassification group is mandatory only
         for agents which support advanced packet classification."  
         
    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."
         
    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION  
        "The etsysInvalidPolicyPolicyGroup is mandatory only 
         for agents which support provisioning of policy based on 
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION  
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."
    ::= { etsysPolicyProfileCompliances 2 }

etsysPolicyProfileCompliance3 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy 
         Profiles."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup, 
                       etsysPortPolicyProfileGroup2,
                       etsysPolicyCapabilitiesGroup }

    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."
         
    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION  
        "The etsysInvalidPolicyPolicyGroup is mandatory only 
         for agents which support provisioning of policy based on 
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION  
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."

    GROUP etsysPolicyRulesGroup
    DESCRIPTION
         "The etsysPolicyRulesGroup is mandatory for agents that
          support Policy rule accounting and usage reporting."
    ::= { etsysPolicyProfileCompliances 3 }

etsysPolicyProfileCompliance4 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy 
         Profiles."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup, 
                       etsysPortPolicyProfileGroup2,
                       etsysPolicyCapabilitiesGroup2 }

    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."
         
    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION  
        "The etsysInvalidPolicyPolicyGroup is mandatory only 
         for agents which support provisioning of policy based on 
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION  
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."

    GROUP etsysPolicyRulesGroup2
    DESCRIPTION
         "The etsysPolicyRulesGroup is mandatory for agents that
          support Policy rule accounting and usage reporting."

    GROUP etsysPolicyRulePortHitNotificationGroup
    DESCRIPTION
        "The etsysPolicyRulePortHitNotificationGroup is optional for 
         agents that support rule use accounting."
    ::= { etsysPolicyProfileCompliances 4 }

etsysPolicyProfileCompliance5 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy 
         Profiles."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup, 
                       etsysPortPolicyProfileGroup2,
                       etsysPolicyCapabilitiesGroup2 }

    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."
         
    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION  
        "The etsysInvalidPolicyPolicyGroup is mandatory only 
         for agents which support provisioning of policy based on 
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION  
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."

    GROUP etsysPolicyRulesGroup3
    DESCRIPTION
         "The etsysPolicyRulesGroup is mandatory for agents that
          support Policy rule accounting and usage reporting."

    GROUP etsysPolicyRulePortHitNotificationGroup
    DESCRIPTION
        "The etsysPolicyRulePortHitNotificationGroup is optional for 
         agents that support rule use accounting."
    ::= { etsysPolicyProfileCompliances 5 }

etsysPolicyProfileCompliance6 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy
         Profiles."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup,
                       etsysPortPolicyProfileGroup2,
                       etsysPolicyCapabilitiesGroup3 }

    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."

    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION
        "The etsysInvalidPolicyPolicyGroup is mandatory only
         for agents which support provisioning of policy based on
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."

    GROUP etsysPolicyRulesGroup4
    DESCRIPTION
         "The etsysPolicyRulesGroup is mandatory for agents that
          support Policy rule accounting and usage reporting."

    GROUP etsysPolicyRulePortHitNotificationGroup
    DESCRIPTION
        "The etsysPolicyRulePortHitNotificationGroup is optional for
         agents that support rule use accounting."
    ::= { etsysPolicyProfileCompliances 6 }

etsysPolicyProfileCompliance7 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy
         Profiles."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup3,
                       etsysPortPolicyProfileGroup2,
                       etsysPolicyCapabilitiesGroup4 }

    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."

    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION
        "The etsysInvalidPolicyPolicyGroup is mandatory only
         for agents which support provisioning of policy based on
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."

    GROUP etsysPolicyRulesGroup5
    DESCRIPTION
         "The etsysPolicyRulesGroup is mandatory for agents that
          support Policy rule accounting and usage reporting."

    GROUP etsysPolicyRulePortHitNotificationGroup
    DESCRIPTION
        "The etsysPolicyRulePortHitNotificationGroup is optional for
         agents that support rule use accounting."
    ::= { etsysPolicyProfileCompliances 7 }

etsysPolicyProfileCompliance8 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy
         Profiles."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup4,
                       etsysPortPolicyProfileGroup2,
                       etsysPolicyCapabilitiesGroup4 }

    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."

    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION
        "The etsysInvalidPolicyPolicyGroup is mandatory only
         for agents which support provisioning of policy based on
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."

    GROUP etsysPolicyRulesGroup5
    DESCRIPTION
         "The etsysPolicyRulesGroup is mandatory for agents that
          support Policy rule accounting and usage reporting."

    GROUP etsysPolicyRulePortHitNotificationGroup
    DESCRIPTION
        "The etsysPolicyRulePortHitNotificationGroup is optional for
         agents that support rule use accounting."
    ::= { etsysPolicyProfileCompliances 8 }

etsysPolicyProfileCompliance9 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy
         Profiles."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup4,
                       etsysPortPolicyProfileGroup2,
                       etsysPolicyCapabilitiesGroup5 }

    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."

    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION
        "The etsysInvalidPolicyPolicyGroup is mandatory only
         for agents which support provisioning of policy based on
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."

    GROUP etsysPolicyRulesGroup6
    DESCRIPTION
         "The etsysPolicyRulesGroup is mandatory for agents that
          support Policy rule accounting and usage reporting."

    GROUP etsysPolicyRulePortHitNotificationGroup
    DESCRIPTION
        "The etsysPolicyRulePortHitNotificationGroup is optional for
         agents that support rule use accounting."
    ::= { etsysPolicyProfileCompliances 9 }

etsysPolicyNonVolatileRuleCompliances MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for devices that support the Policy
         Non-Volatile Rule table."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyRulesGroup6 }
    
    GROUP etsysPolicyNonVolatileRulesGroup
    DESCRIPTION
        "The etsysPolicyNonVolatileRulesGroup is optional
         for agents that support Policy rule accounting and 
         usage reporting."

    ::= { etsysPolicyProfileCompliances 10 }

etsysPolicyProfileCompliance10 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for devices that support Policy
         Profiles."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup5,
                       etsysPortPolicyProfileGroup2,
                       etsysPolicyCapabilitiesGroup5 }

    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."

    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION
        "The etsysInvalidPolicyPolicyGroup is mandatory only
         for agents which support provisioning of policy based on
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."

    GROUP etsysPolicyRulesGroup6
    DESCRIPTION
         "The etsysPolicyRulesGroup is mandatory for agents that
          support Policy rule accounting and usage reporting."

    GROUP etsysPolicyRulePortHitNotificationGroup
    DESCRIPTION
        "The etsysPolicyRulePortHitNotificationGroup is optional for
         agents that support rule use accounting."

    GROUP etsysPolicyHttpRedirectGroup
     DESCRIPTION
        "The etsysPolicyHttpRedirectGroup is mandantory for agents 
         that support HTTP redirect via the policy profile."
    ::= { etsysPolicyProfileCompliances 11 }

etsysPolicyProfileCompliance11 MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for devices that support Policy
         Profiles."
    MODULE -- this module
    MANDATORY-GROUPS { etsysPolicyProfileGroup5,
                       etsysPortPolicyProfileGroup2,
                       etsysPolicyCapabilitiesGroup5,
                       etsysPolicySystemGroup }

    GROUP etsysStationPolicyProfileGroup
    DESCRIPTION
        "The etsysStationPolicyProfileGroup is mandatory only
         for agents which support station-based policy application."

    GROUP etsysInvalidPolicyPolicyGroup
    DESCRIPTION
        "The etsysInvalidPolicyPolicyGroup is mandatory only
         for agents which support provisioning of policy based on
         AAA services such as RADIUS."

    GROUP etsysDevicePolicyProfileGroup
    DESCRIPTION
        "The etsysDevicePolicyProfileGroup is mandatory for agents
         that cannot support complete policies on a per port basis."

    GROUP etsysPolicyRFC3580MapGroup
    DESCRIPTION
         "The etsysPolicyRFC3580MapGroup is mandatory for agents that
          support RFC 3580 compliance."

    GROUP etsysPolicyRulesGroup6
    DESCRIPTION
         "The etsysPolicyRulesGroup is mandatory for agents that
          support Policy rule accounting and usage reporting."

    GROUP etsysPolicyRulePortHitNotificationGroup
    DESCRIPTION
        "The etsysPolicyRulePortHitNotificationGroup is optional for
         agents that support rule use accounting."

    GROUP etsysPolicyHttpRedirectGroup
    DESCRIPTION
        "The etsysPolicyHttpRedirectGroup is mandantory for agents
         that support HTTP redirect via the policy profile."

    OBJECT     etsysPolicyEnabledState
    SYNTAX     EnabledStatus
    MIN-ACCESS read-only
    DESCRIPTION
        "Write access is not required."

    ::= { etsysPolicyProfileCompliances 12 }

END

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

ENTERASYS-MULTI-AUTH-MIB DEFINITIONS ::= BEGIN

--  enterasys-multi-auth-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Enterasys 
--  Networks' simultaneous multiple authentication functionality.

--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in 
--  connection with the management of Enterasys Networks products.

--  Copyright August 2013 Enterasys Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    Unsigned32, Integer32, Gauge32, Counter64
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue, TimeStamp, DateAndTime
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    ifIndex
        FROM IF-MIB
    entPhysicalIndex
        FROM ENTITY-MIB
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB
    StationAddressType, StationAddress
        FROM ENTERASYS-UPN-TC-MIB
    EnabledStatus
        FROM P-BRIDGE-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES;    

etsysMultiAuthMIB MODULE-IDENTITY
    LAST-UPDATED "201308081515Z"  -- Thu Aug  8 15:15 UTC 2013
    ORGANIZATION "Enterasys Networks, Inc."
    CONTACT-INFO
        "Postal:  Enterasys Networks
                  9 Northeastern Blvd.
                  Salem, NH 03079 USA

         Phone:   +1 603 952 5000
         E-mail:  support@enterasys.com
         WWW:     http://www.enterasys.com"
   
    DESCRIPTION
        "This MIB module defines a portion of the SNMP MIB under
         the Enterasys Networks enterprise OID pertaining to 
         configuration of multiple authentication mechanisms
         to be run simultaneously on a device."

    REVISION    "201308081515Z"  -- Thu Aug  8 15:15 UTC 2013
    DESCRIPTION 
        "Added the RADIUS timeout reauthentication action."  

    REVISION    "201301071438Z"  -- Mon Jan 7 14:38 UTC 2013
    DESCRIPTION 
        "Added the etsysMultiAuthSessionsUniquePerPortOperStatus
         object."

    REVISION    "201209121537Z"  -- Wed Sep 12 15:37 UTC 2012
    DESCRIPTION 
        "Added a a method to clear multiauth sessions on a per 
         agent basis."

    REVISION    "201205311833Z"  -- Thu May  31 18:33 UTC 2012
    DESCRIPTION 
        "Added a new provisioning agent types autotracking and 
         quarantine agent."     

    REVISION    "201205091103Z"  -- Wed May  9 11:03 UTC 2012
    DESCRIPTION
        "Added user session counters."

    REVISION    "200802051840Z"  -- Tue Feb  5 18:40 UTC 2008
    DESCRIPTION 
        "Added a new authentication type for RADIUS Snooping."

    REVISION    "200603231332Z"  -- Thu Mar 23 13:32 UTC 2006
    DESCRIPTION 
        "Added etsysMultiAuthSessionVlanTunnelAttribute leaf for
         RFC 3580 support."

    REVISION    "200602031915Z"  -- Fri Feb  3 19:15 GMT 2006
    DESCRIPTION 
        "Added NOTIFICATIONs for the system and module maximum 
         number of users being reached.  Also added objects
         to enable and disable these NOTIFICATIONs."

    REVISION    "200504061810Z"  -- Wed Apr  6 18:10 GMT 2005
    DESCRIPTION 
        "Added objects to control and report timeout parameters for
         authentication sessions.  Also added objects to report
         the number of authenticated users on a per authentication
         type basis."
    
    REVISION    "200408301343Z"  -- Mon Aug 30 13:43 GMT 2004
    DESCRIPTION 
        "Added read-only leaves to represent the potential for
         individual chassis modules to have their own authentication
         resource limits.  The etsysMultiAuthCompliance group has been 
         deprecated in favor of etsysMultiAuthCompliance2."

    REVISION    "200407201943Z"  -- Tue Jul 20 19:43 GMT 2004
    DESCRIPTION 
        "Added a new authentication type for Convergence End Point 
         Detection.  The  DEFVAL clause of the 
         etsysMultiAuthSystemDefaultPrecedence leaf was corrected to 
         indicate the intended default precedence."
    
    REVISION    "200403101356Z"  -- Wed Mar 10 13:56 GMT 2004
    DESCRIPTION 
        "The initial version of this MIB module."
    ::= { etsysModules 46 } 


-- Textual Conventions

EtsysMultiAuthTypes ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "This convention enumerates the authentication types 
         supported by Enterasys Networks' devices."
    SYNTAX       INTEGER {
                   ieee8021x(1), -- IEEE 802.1X Port-Based Network
                                 -- Access Control
                   pwa(2),       -- Enterasys Port Web Authentication
                   macAuth(3),   -- Enterasys Mac Authentication
                   cep(4),       -- Enterasys Convergence End Point  
                                 -- Detection
                   radiusSnooping(5), -- Enterasys RADIUS Snooping
                   autoTracking(6), -- Enterasys Auto Tracking
                   quarantineAgent(7) -- Enterasys Quarantine Agent
                 }

EtsysMultiAuthTypePrecedence ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1d "
    STATUS       current
    DESCRIPTION
        "The precedence by which authentication results will be applied
         to network traffic.  This object will have a maximum size
         equal to the number of enumerations specified by the
         EtsysMultiAuthTypes textual convention.  Each octet in this
         object represents a specific authentication type.  The
         first octet contains the authentication type with the highest
         precedence, the second octet contains the type of the next
         highest precedence, and so forth. For example, a precedence
         from highest to lowest of quarantineAgent(7), ieee8021x(1), 
         macAuth(3), pwa(2), cep(4), radiusSnooping(5), autoTracking(6),
         would be represented as '07010302040506'H."
    SYNTAX       OCTET STRING (SIZE (0..32))

EtsysMultiAuthStatus ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "The status of authentication for this session.  A value of
         authSuccess(1) means authentication was attempted and succeeded.
         A value of authFailed(2) means authentication was attempted
         and failed for a reason other than communication timing out
         with the authorization server.  A value of authInProgress(3)
         means that the authorization process has been started but
         has not completed yet.  A value of authServerTimeout(4)
         means that the request to the authorization server for this
         session timed out without a reply from the server.  A value
         of authTerminated(5) indicates that the session was active
         or in progress and was subsequently terminated.  A session 
         may be terminated for several reasons, including but not 
         limited to, session timeout, idle timeout, the ifOperStatus 
         of the interface on which the session was authenticated 
         transitioning out of the up(1) state, or explicit 
         administrative management action."
    SYNTAX       INTEGER {
                   authSuccess(1),
                   authFailed(2),
                   authInProgress(3),
                   authServerTimeout(4),
                   authTerminated(5)
                 }


-- -------------------------------------------------------------
-- MIB Objects
-- -------------------------------------------------------------

etsysMultiAuthObjects      OBJECT IDENTIFIER 
                           ::= { etsysMultiAuthMIB 1 }

etsysMultiAuthSystem       OBJECT IDENTIFIER 
                           ::= { etsysMultiAuthObjects 1 }

etsysMultiAuthPort         OBJECT IDENTIFIER 
                           ::= { etsysMultiAuthObjects 2 }

etsysMultiAuthStation      OBJECT IDENTIFIER 
                           ::= { etsysMultiAuthObjects 3 }

etsysMultiAuthSession      OBJECT IDENTIFIER 
                           ::= { etsysMultiAuthObjects 4 }

etsysMultiAuthModule       OBJECT IDENTIFIER 
                           ::= { etsysMultiAuthObjects 5 }

etsysMultiAuthCounters     OBJECT IDENTIFIER
                           ::= { etsysMultiAuthObjects 6 }

etsysMultiAuthNotification OBJECT IDENTIFIER 
                           ::= { etsysMultiAuthObjects 0 }


-- -------------------------------------------------------------
-- The Multiple Authentication System Group
-- -------------------------------------------------------------

etsysMultiAuthSystemSupportedTypes OBJECT-TYPE
    SYNTAX       BITS {
                   ieee8021x(0),
                   pwa(1),
                   macAuth(2),
                   cep(3),
                   radiusSnooping(4),
                   autoTracking(5),
                   quarantineAgent(6)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object specifies that authentication types that the
         device supports.  A bit will be set for each corresponding 
         type that is supported."
    ::= { etsysMultiAuthSystem 1 }

etsysMultiAuthSystemMaxNumUsers OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The maximum number of users the can be actively
         authenticated or have authentications in progress at one
         time in the system."
    ::= { etsysMultiAuthSystem 2 }

etsysMultiAuthSystemCurrentNumUsers OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The current number of users the are actively authenticated, 
         have authentications in progress, or the device is keeping
         authentication termination information for in the system."
    ::= { etsysMultiAuthSystem 3 }

etsysMultiAuthSystemMode OBJECT-TYPE
    SYNTAX       INTEGER {
                   strictIeee8021x(1),
                   etsysMultiAuth(2)
                 }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "The value strictIeee8021x(1) will cause the device to 
         authenticate in strict adherence to IEEE Std. 802.1X-2001.  
         In this mode no other authentication mechanisms will be active.
         While in this mode, changes may be made to other objects in the
         MIB, but they will have no effect on the operation of the device 
         until such time as the system mode is changed to etsysMultiAuth(2).
         A set of this object to a value of etsysMultiAuth(2) will cause 
         the device to authenticate using multiple authenticators 
         simultaneously."
    REFERENCE 
        "IEEE Std. 802.1X-2001"
    DEFVAL       { strictIeee8021x }
    ::= { etsysMultiAuthSystem 4 }

etsysMultiAuthSystemDefaultPrecedence OBJECT-TYPE
    SYNTAX       EtsysMultiAuthTypePrecedence
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The precedence that authentication results will be applied
         to network traffic by default.  This object will have a size
         equal to the number of enumerations specified by the
         EtsysMultiAuthTypes textual convention."
    DEFVAL       { '07010203040506'h }
    ::= { etsysMultiAuthSystem 5 }

etsysMultiAuthSystemAdminPrecedence OBJECT-TYPE
    SYNTAX       EtsysMultiAuthTypePrecedence
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object allows one to modify the default precedence by 
         which authentication results will be applied to network traffic.

         Sets to this object are not required to specify all of the types 
         that the device supports.  If less types are specified than are 
         supported, then all types that were not specified will be given 
         an operational precedence based on that type's default precedence 
         relative to the last type specified.  For example, if the default 
         precedence is '030102'H and the object is set to '02'H then 
         operational precedence would be '020301'H.

         A set to this object of a zero length octet string will clear
         the administrative precedence.  In this case the operational
         precedence would be equal to the default precedence."
    DEFVAL       { ''H }
    ::= { etsysMultiAuthSystem 6 }

etsysMultiAuthSystemOperPrecedence OBJECT-TYPE
    SYNTAX       EtsysMultiAuthTypePrecedence
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object returns the operational precedence of authentication 
         types as they will be applied to network traffic.  The value 
         returned by this object is the calculated result of the 
         etsysMultiAuthSystemDefaultPrecedence and 
         etsysMultiAuthSystemAdminPrecedence objects.  This object will 
         have a size equal to the number of enumerations specified by the
         EtsysMultiAuthTypes textual convention."
    ::= { etsysMultiAuthSystem 7 }

etsysMultiAuthTypePropertiesTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysMultiAuthTypePropertiesEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table of properties per authentication type."
    ::= {  etsysMultiAuthSystem 8 }
    
etsysMultiAuthTypePropertiesEntry OBJECT-TYPE
    SYNTAX       EtsysMultiAuthTypePropertiesEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry containing per authentication type properties."
    INDEX  { etsysMultiAuthType }
    ::= { etsysMultiAuthTypePropertiesTable 1 }

EtsysMultiAuthTypePropertiesEntry ::=
    SEQUENCE {
        etsysMultiAuthType
            EtsysMultiAuthTypes,
        etsysMultiAuthSessionTimeout
            Unsigned32,
        etsysMultiAuthIdleTimeout
            Unsigned32,
        etsysMultiAuthCurrentNumUsers
            Gauge32
    }

etsysMultiAuthType OBJECT-TYPE
    SYNTAX       EtsysMultiAuthTypes
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "The authentication type the entry properties pertain to."
    ::= { etsysMultiAuthTypePropertiesEntry 1 }

etsysMultiAuthSessionTimeout OBJECT-TYPE
    SYNTAX       Unsigned32 (0|1..172800)
    UNITS        "seconds"
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "The maximum number of seconds an authenticated session may last
         before termination of the session.  A value of zero indicates
         that no session timeout will be applied.  This value MAY be 
         superseded by a session timeout value provided by the 
         authenticating server.  For example, if a session is 
         authenticated by a RADIUS server, that server may encode a
         Session-Timeout Attribute in its authentication response.  The
         operational timeout value of a given authenticated session
         is specified by the etsysMultiAuthSessionSessionTimeout object."
    REFERENCE
        "RFC 2865, 'Remote Authentication Dial In User Service (RADIUS)',
         Section 5.27"
    DEFVAL { 0 }
    ::= { etsysMultiAuthTypePropertiesEntry 2 }

etsysMultiAuthIdleTimeout OBJECT-TYPE
    SYNTAX       Unsigned32 (0|1..172800)
    UNITS        "seconds"
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "The maximum number of consecutive seconds an authenticated 
         session may be idle before termination of the session.  A 
         value of zero indicates that no idle timeout will be applied.
         This value MAY be superseded by a idle timeout value provided 
         by the authenticating server.  For example, if a session is 
         authenticated by a RADIUS server, that server may encode a
         Idle-Timeout Attribute in its authentication response.  The
         operational idle timeout value of a given authenticated 
         session is specified by the etsysMultiAuthSessionIdleTimeout
         object."
    REFERENCE
        "RFC 2865, 'Remote Authentication Dial In User Service (RADIUS)',
         Section 5.28"
    DEFVAL { 0 }
    ::= { etsysMultiAuthTypePropertiesEntry 3 }

etsysMultiAuthCurrentNumUsers OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The current number of users the are actively authenticated or
         have authentications in progress for this authentication type 
         in the system."
    ::= { etsysMultiAuthTypePropertiesEntry 4 }

etsysMultiAuthSystemMaxNumUsersReachedTrapEnable OBJECT-TYPE
    SYNTAX       EnabledStatus
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object allows for the enabling or disabling the
         transmission of the etsysMultiAuthSystemMaxNumUsersReached
         NOTIFICATION."
    DEFVAL       { disabled }
    ::= { etsysMultiAuthSystem 9 }    
    
etsysMultiAuthSessionsUniquePerPort OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "When this object is set to true(1) each multi-auth session
         MAY be unique to the port it was created on.

         The operational status of this variable can be found 
         using etsysMultiAuthSessionsUniquePerPortOperStatus."
    DEFVAL       { false }
    ::= { etsysMultiAuthSystem 10 }    


etsysMultiAuthSessionsUniquePerPortOperStatus OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "If this object has a value of true(1) each multi-auth session
         will be unique to the port it was created on. If this object 
         has a value of false(2) each multi-auth session may exist on 
         multiple ports."
    ::= { etsysMultiAuthSystem 11 }    

etsysMultiAuthSystemReAuthenticationTimeoutAction OBJECT-TYPE
    SYNTAX       INTEGER {
                   terminate(1),
                   none(2)
                 }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "When this object is set to terminate(1) re-authenticating
         multiauth sessions will be terminated if the re-authentication
         RADIUS transaction results in a complete timeout.
         
         When this object is set to none(2) re-authentication multiauth
         sessions will be left as they were prior to the re-authentication
         attempt if the re-authentication RADIUS transaction results in 
         a complete timeout.

         A complete timeout occurs when all RADIUS retries to all 
         appropriate RADIUS servers have been exhausted."
    DEFVAL       { terminate }
    ::= { etsysMultiAuthSystem 12 }

-- -------------------------------------------------------------
-- The Multiple Authentication Port Group
-- -------------------------------------------------------------

etsysMultiAuthPortTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysMultiAuthPortEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table of per port information and configuration for user
         authentication."
    ::= {  etsysMultiAuthPort 1 }

etsysMultiAuthPortEntry OBJECT-TYPE
    SYNTAX       EtsysMultiAuthPortEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry containing per port authentication data. 
         Only interfaces that are able to authenticate users are 
         represented in this table."
    INDEX  { ifIndex }
    ::= { etsysMultiAuthPortTable 1 }

EtsysMultiAuthPortEntry ::=
    SEQUENCE { 
        etsysMultiAuthPortMode
            INTEGER,
        etsysMultiAuthPortMaxNumUsers
            Unsigned32,
        etsysMultiAuthPortNumUsersAllowed
            Unsigned32,
        etsysMultiAuthPortCurrentNumUsers
            Gauge32,
        etsysMultiAuthPortClearUsers
            TruthValue,
        etsysMultiAuthPortTrapEnable
            BITS
    }

etsysMultiAuthPortMode OBJECT-TYPE
    SYNTAX       INTEGER {
                   forceUnauthorized(1),
                   forceAuthorized(2),
                   authOptional(3),
                   authRequired(4)
                 }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object specifies the authorization mode to use for
         packets received on this interface.  

         A value of forceUnauthorized(1) indicates that the interface 
         is always unauthenticated.  
 
         A value of forceAuthorized(2) indicates that users on this port 
         will always be considered to be authenticated.  

         A value of authOptional(3) indicates that authentication is 
         optional on this interface.  Packets received from 
         unauthenticated users on the interface will be processed using 
         the static configuration of the interface.  Users may promote
         the policy applied to their traffic by actively authenticating
         on this interface.

         A value of authRequired(4) indicates that all packets received on 
         the interface will be dropped until authentication succeeds.  Some
         authentication types, such as PWA, will not be fully functional in 
         this mode of operation."
    ::= { etsysMultiAuthPortEntry 1 }

etsysMultiAuthPortMaxNumUsers OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The maximum number of users that can be actively
         authenticated or have authentications in progress at one
         time on this interface."
    ::= { etsysMultiAuthPortEntry 2 }

etsysMultiAuthPortNumUsersAllowed OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "The user configured number of users that can be actively
         authenticated or have authentications in progress at one
         time on this interface.  This object has a default value 
         equal to the value of etsysMultiAuthPortMaxNumUsers for this
         interface.  If the value set to this object is less than its 
         current value, it will have the same effect as setting the 
         etsysMultiAuthPortClearUsers object to a value of true(1)."
    ::= { etsysMultiAuthPortEntry 3 }

etsysMultiAuthPortCurrentNumUsers OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The current number of users that are actively
         authenticated or have authentications in progress at one
         time on this interface.  By definition this value can not
         exceed the value specified by etsysMultiAuthPortMaxNumUsers 
         for the same interface."
    ::= { etsysMultiAuthPortEntry 4 } 

 etsysMultiAuthPortClearUsers OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Setting this object to a value of true(1) will cause
         all users that are currently authenticated or that 
         have authentications in progress on this interface to become
         unauthenticated.  This will cause any such entries with matching 
         ifIndex values in the etsysMultiAuthSessionStationTable tables to 
         change their authorization status to authTerminated(5).

         Setting this object to a value of false(2) has no effect.  This
         object will always return a value of false(2)."
    DEFVAL       { false }
    ::= { etsysMultiAuthPortEntry 5 }

etsysMultiAuthPortTrapEnable OBJECT-TYPE
    SYNTAX       BITS {
                   authSuccessTrap(0),
                   authFailedTrap(1),
                   authTerminatedTrap(2),
                   maxNumUsersReachedTrap(3)
                 }                       
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object allows for the enabling or disabling of each
         trap on a per interface basis.  Setting a given bit to a value
         of 1 allows traps of that type to be sent for events on that
         interface.  Setting a given bit to a value of 0 disallows traps 
         of that type to be sent for events on that interface.  The 
         individual bits correlate to specific traps as follows:

               BIT                        NOTIFICATION
         ----------------------------------------------------------------
         authSuccessTrap(0)           etsysMultiAuthSuccess
         authFailedTrap(1)            etsysMultiAuthFailed
         authTerminatedTrap(2)        etsysMultiAuthTerminated
         maxNumUsersReachedTrap(3)    etsysMultiAuthMaxNumUsersReached 
        "
    DEFVAL       { { } }
    ::= { etsysMultiAuthPortEntry 6 }

etsysMultiAuthPortTypeTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysMultiAuthPortTypeEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table of per port, per authentication type information."
    ::= {  etsysMultiAuthPort 2 }

etsysMultiAuthPortTypeEntry OBJECT-TYPE
    SYNTAX       EtsysMultiAuthPortTypeEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry containing per port, per authentication type data.
         Only interfaces that are able to authenticate users are
         represented in this table."
    INDEX  { ifIndex, etsysMultiAuthType }
    ::= { etsysMultiAuthPortTypeTable 1 }

EtsysMultiAuthPortTypeEntry ::=
    SEQUENCE {
        etsysMultiAuthPortTypeCurrentNumUsers
            Gauge32
    }

etsysMultiAuthPortTypeCurrentNumUsers OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The current number of users the are actively authenticated or
         have authentications in progress for this authentication type
         on the specified port."
    ::= { etsysMultiAuthPortTypeEntry 1 }

-- -------------------------------------------------------------
-- The Multiple Authentication Station Group
-- -------------------------------------------------------------

etsysMultiAuthStationTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysMultiAuthStationEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table of station configuration on specific interfaces."
    ::= {  etsysMultiAuthStation 1 }

etsysMultiAuthStationEntry OBJECT-TYPE
    SYNTAX       EtsysMultiAuthStationEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry containing authentication information on a per station, 
         per port basis.  Only interfaces that are able to authenticate 
         users are represented in this table."
    INDEX  { etsysMultiAuthStationAddrType,
             etsysMultiAuthStationAddr,
             ifIndex }
    ::= { etsysMultiAuthStationTable 1 }

EtsysMultiAuthStationEntry ::=
    SEQUENCE { 
        etsysMultiAuthStationAddrType
            StationAddressType,
        etsysMultiAuthStationAddr
            StationAddress,
        etsysMultiAuthStationClearUsers
            TruthValue
    }

etsysMultiAuthStationAddrType OBJECT-TYPE
    SYNTAX       StationAddressType
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "The type of station represented by etsysMultiAuthStationAddr."
    ::= { etsysMultiAuthStationEntry 1 }

etsysMultiAuthStationAddr OBJECT-TYPE
    SYNTAX       StationAddress
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "The station address for the authenticated user."
    ::= { etsysMultiAuthStationEntry 2 }

etsysMultiAuthStationClearUsers OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Setting this object to a value of true(1) will cause
         any users with the specified station address that are currently 
         authenticated or that have authentications in progress to become 
         unauthenticated.  This will cause any entries with matching 
         etsysMultiAuthStationAddr values in the
         etsysMultiAuthSessionStationTable tables to change their 
         authorization status to authTerminated(5).

         Setting this object to a value of false(2) has no effect.  This
         object will always return a value of false(2)."
    DEFVAL       { false }
    ::= { etsysMultiAuthStationEntry 3 }


-- -------------------------------------------------------------
-- The Multiple Authentication Session Group
-- -------------------------------------------------------------

etsysMultiAuthSessionStationTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysMultiAuthSessionStationEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table of session information and configuration for user
         authentication.  Entries in this table represent users 
         in various stages of authentication.  Entries that do
         not have a etsysMultiAuthSessionStationAuthStatus value
         of authSuccess(1) or authInProgress(3) MAY be removed
         by the agent as required in order to free resources for
         new user authentications."
    ::= {  etsysMultiAuthSession 1 }

etsysMultiAuthSessionStationEntry OBJECT-TYPE
    SYNTAX       EtsysMultiAuthSessionStationEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry containing authentication information on a per station, 
         per port, per authentication agent type basis.  Only interfaces
         that are able to authenticate users are represented in this table."
    INDEX  { etsysMultiAuthStationAddrType,
             etsysMultiAuthStationAddr,
             ifIndex, 
             etsysMultiAuthSessionAgentType }
    ::= { etsysMultiAuthSessionStationTable 1 }

EtsysMultiAuthSessionStationEntry ::=
    SEQUENCE { 
        etsysMultiAuthSessionAgentType
            EtsysMultiAuthTypes,
        etsysMultiAuthSessionStationAuthStatus
            EtsysMultiAuthStatus,
        etsysMultiAuthSessionAuthAttemptTime
            TimeStamp,
        etsysMultiAuthSessionAuthServerType
            INTEGER,
        etsysMultiAuthSessionAuthServerAddrType
            InetAddressType,
        etsysMultiAuthSessionAuthServerAddr
            InetAddress, 
        etsysMultiAuthSessionPolicyIndex
            Integer32,
        etsysMultiAuthSessionIsApplied
            TruthValue,
        etsysMultiAuthSessionTerminationTime
            DateAndTime,
        etsysMultiAuthSessionSessionTimeout
            Unsigned32,
        etsysMultiAuthSessionIdleTimeout
            Unsigned32,
        etsysMultiAuthSessionDuration
            Gauge32,
        etsysMultiAuthSessionIdleTime
            Gauge32,
        etsysMultiAuthSessionVlanTunnelAttribute
            Integer32,
        etsysMultiAuthSessionClear
            TruthValue    
    }

etsysMultiAuthSessionAgentType OBJECT-TYPE
    SYNTAX       EtsysMultiAuthTypes
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "The type of authentication agent for this session."
    ::= { etsysMultiAuthSessionStationEntry 1 }

etsysMultiAuthSessionStationAuthStatus OBJECT-TYPE
    SYNTAX       EtsysMultiAuthStatus
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The status of authentication for this session."
    ::= { etsysMultiAuthSessionStationEntry 2 }

etsysMultiAuthSessionAuthAttemptTime OBJECT-TYPE
    SYNTAX       TimeStamp
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of sysUpTime when this session last attempted 
         authorization.  For entries that have a value of 
         authInProgress(3) for etsysMultiAuthSessionStationAuthStatus
         this object MAY return a value of zero."
    ::= { etsysMultiAuthSessionStationEntry 3 }

etsysMultiAuthSessionAuthServerType OBJECT-TYPE
    SYNTAX       INTEGER {
                   radius(1),
                   local(2)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The type of authentication server used to authenticate this
         session.  A value of radius(1) indicates that a RADIUS request
         and response were attempted in order to authenticate the session.
         A value of local(2) indicates that the session was authenticated 
         by a local file or configuration on the device itself."
    ::= { etsysMultiAuthSessionStationEntry 4 }

etsysMultiAuthSessionAuthServerAddrType OBJECT-TYPE
    SYNTAX       InetAddressType 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The type of data returned by etsysMultiAuthSessionAuthServerAddr.
         If the etsysMultiAuthSessionAuthServerType leaf for this entry has
         a value of local(2) then this object MUST return a a value of 
         unknown(0)."
    ::= { etsysMultiAuthSessionStationEntry 5 }

etsysMultiAuthSessionAuthServerAddr OBJECT-TYPE
    SYNTAX       InetAddress
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The network address of the authentication server for this 
         session.  If the etsysMultiAuthSessionAuthServerType leaf for 
         this entry has a value of local(2) then this object MUST 
         return a zero length string."
    ::= { etsysMultiAuthSessionStationEntry 6 }

etsysMultiAuthSessionPolicyIndex OBJECT-TYPE
    SYNTAX       Integer32 (0|1..65535)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The Policy Profile Index returned from the authentication
         server for this session.  

         The value of zero indicates that no policy will be applied 
         for this session.  If the etsysMultiAuthSessionStationAuthStatus 
         object returns a value of authSuccess(1), then a value of 
         zero is the result of the policy not being configured on the 
         authorization server.  For all other values of 
         etsysMultiAuthSessionStationAuthStatus a value of zero for this object
         is the result of authorization not succeeding or not having 
         completed.  

         All values other than zero are valid Policy Profile 
         Indexes that specify the policy profile the user will receive on
         this interface.  If a given user has been authenticated by
         multiple authentication types on the same interface the policy 
         that is applied to the user's packets is determined by the 
         precedence of the agents as specified by 
         etsysMultiAuthSystemOperPrecedence.  These indexes are suitable 
         for indexing in the ENTERASYS-POLICY-PROFILE-MIB."
    ::= { etsysMultiAuthSessionStationEntry 7 }

etsysMultiAuthSessionIsApplied OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object indicates whether this entry and the
         policy index contained within it are actively being applied
         to traffic matching the interface and station address of this
         entry.  A value of true(1) indicates that this entry is being
         applied.  A value of false(2) indicates that the entry is not 
         being applied.  Only one authentication type per
         interface station address ordered pair may be applied at a
         single time.  The operational precedence of the various
         authentication types determines which if any type will be 
         applied."
    ::= { etsysMultiAuthSessionStationEntry 8 }

etsysMultiAuthSessionTerminationTime OBJECT-TYPE
    SYNTAX      DateAndTime (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The local date and time that the session was terminated.
         If the session is not in the authTerminated(5) state 
         this object MUST return '00000000'H."
    DEFVAL { '00000000'H }
    ::= { etsysMultiAuthSessionStationEntry 9 }

etsysMultiAuthSessionSessionTimeout OBJECT-TYPE
    SYNTAX       Unsigned32 (0|1..172800)
    UNITS        "seconds"
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The maximum number of seconds this session may last before 
         automatic termination.  A value of zero indicates
         that no session timeout will be applied.  This value MAY be
         provided by the etsysMultiAuthSessionTimeout object or
         by the authenticating server."
    ::= { etsysMultiAuthSessionStationEntry 10 }

etsysMultiAuthSessionIdleTimeout OBJECT-TYPE
    SYNTAX       Unsigned32 (0|1..172800)
    UNITS        "seconds"
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The maximum number of consecutive seconds this session may 
         be idle before automatic termination.  A value of zero 
         indicates that no idle timeout will be applied.  This value MAY
         be provided by the etsysMultiAuthIdleTimeout object or
         by the authenticating server."
    ::= { etsysMultiAuthSessionStationEntry 11 }

etsysMultiAuthSessionDuration OBJECT-TYPE
    SYNTAX       Gauge32 
    UNITS        "seconds"
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The length of this session in seconds.  This object MAY return
         zero for a session in any state other than authSuccess(1)."
    ::= { etsysMultiAuthSessionStationEntry 12 }

etsysMultiAuthSessionIdleTime OBJECT-TYPE
    SYNTAX       Gauge32
    UNITS        "seconds"
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The number of consecutive seconds this session has been idle.
         This object MAY return zero for a session in any state other
         than authSuccess(1)."
    ::= { etsysMultiAuthSessionStationEntry 13 }

etsysMultiAuthSessionVlanTunnelAttribute OBJECT-TYPE
    SYNTAX       Integer32 (0|1..4094|4095)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The VLAN Tunnel Attribute (Tunnel-Group-ID) returned from the
         authentication server for this session.

         This value is interpreted as the 12 bit VLAN identifier
         to be applied to traffic from the session entity.  Policy VLAN
         classification rules have precedence in assigning VLAN,
         however, in the absence of any applicable rules, this VLAN
         will be used.  If the traffic is already tagged, this VLAN
         will only be applied if TCI overwrite has been enabled
         (through Policy or ctDot1qPortReplaceTCI).

         A value of zero indicates that there is no authenticated VLAN
         ID for the given session (none was provided by the authentication
         server). Should a session become unauthenticated this value
         MUST return zero.

         A value of 4095 indicates that a the session has been
         authenticated, but that the VLAN returned could not be applied
         to the port (possibly because of resource constraints or
         misconfiguration).  The traffic from the session entity will
         be assigned VLAN through Policy or standard 802.1Q mechanisms."
    REFERENCE
        "RFC 3580, 'IEEE 802.1X Remote Authentication Dial In User Service
         (RADIUS) Usage Guidelines', Section 3.31"
    ::= { etsysMultiAuthSessionStationEntry 14 }

etsysMultiAuthSessionClear OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Setting this object to a value of true(1) will cause
         the specified table entry with the specified station address, 
         ifIndex and agent type that are currently authenticated or 
         that have authentications in progress to become unauthenticated
         and their authorization status changes to authTerminated(5).

         Setting this object to a value of false(2) has no effect.  This
         object will always return a value of false(2)."
    DEFVAL       { false }
    ::= { etsysMultiAuthSessionStationEntry 15 }

etsysMultiAuthSessionPortTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysMultiAuthSessionPortEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table of session information and configuration for user
         authentication.  This table represents the information 
         specified in the etsysMultiAuthSessionStationTable with 
         alternate indexing for faster lookups of data on per port
         basis."
    ::= {  etsysMultiAuthSession 2 }

etsysMultiAuthSessionPortEntry OBJECT-TYPE
    SYNTAX       EtsysMultiAuthSessionPortEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry containing authentication information on a per port, 
         per station, per authentication agent type basis.  Only interfaces
         that are able to authenticate users are represented in this table."
    INDEX  { ifIndex,
             etsysMultiAuthStationAddrType,
             etsysMultiAuthStationAddr,
             etsysMultiAuthSessionAgentType }
    ::= { etsysMultiAuthSessionPortTable 1 }

EtsysMultiAuthSessionPortEntry ::=
    SEQUENCE { 
        etsysMultiAuthSessionPortAuthStatus
            EtsysMultiAuthStatus
    }

etsysMultiAuthSessionPortAuthStatus OBJECT-TYPE
    SYNTAX       EtsysMultiAuthStatus
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The status of authentication for this session."
    ::= { etsysMultiAuthSessionPortEntry 1 }


-- -------------------------------------------------------------
-- The Multiple Authentication Module Group
-- -------------------------------------------------------------

etsysMultiAuthModuleTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysMultiAuthModuleEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "A table of per module information for user authentication."
    ::= {  etsysMultiAuthModule 1 }

etsysMultiAuthModuleEntry OBJECT-TYPE
    SYNTAX       EtsysMultiAuthModuleEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry containing per module authentication data.
         Only physical indexes with a entPhysicalClass of module(9)
         are represented in this table.  Furthermore, each entity
         represented in this table must have authentication resources
         that are separate from every other entity in the table."
    INDEX  { entPhysicalIndex }
    ::= { etsysMultiAuthModuleTable 1 }

EtsysMultiAuthModuleEntry ::=
    SEQUENCE {
        etsysMultiAuthModuleMaxNumUsers
            Unsigned32,
        etsysMultiAuthModuleCurrentNumUsers
            Gauge32
    }

etsysMultiAuthModuleMaxNumUsers OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The maximum number of users that can be actively
         authenticated or have authentications in progress at one
         time on the specified module."
    ::= { etsysMultiAuthModuleEntry 1 }

etsysMultiAuthModuleCurrentNumUsers OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The current number of users that are actively
         authenticated or have authentications in progress at one
         time on the specified module.  By definition this value can not
         exceed the value specified by etsysMultiAuthModuleMaxNumUsers
         for the same module."
    ::= { etsysMultiAuthModuleEntry 2 }

etsysMultiAuthModuleMaxNumUsersReachedTrapEnable OBJECT-TYPE
    SYNTAX       EnabledStatus
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object allows for the enabling or disabling the
         transmission of the etsysMultiAuthModuleMaxNumUsersReached
         NOTIFICATION."
    DEFVAL       { disabled }
    ::= { etsysMultiAuthModule 2 }    

-- -------------------------------------------------------------
-- The Multiple Authentication Counters Group
-- -------------------------------------------------------------

etsysMultiAuthCounterTable OBJECT-TYPE
	SYNTAX	     SEQUENCE OF EtsysMultiAuthCounterEntry
	MAX-ACCESS   not-accessible
	STATUS	     current
	DESCRIPTION
        "A table of per station and port user counter data."
	::= { etsysMultiAuthCounters 1 }

etsysMultiAuthCounterEntry OBJECT-TYPE
    SYNTAX      EtsysMultiAuthCounterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "An entry containing user counter data."
    INDEX { ifIndex,
	        etsysMultiAuthStationAddrType,
	        etsysMultiAuthStationAddr }
	::= { etsysMultiAuthCounterTable 1 }



EtsysMultiAuthCounterEntry ::=
	SEQUENCE {
		etsysMultiAuthCounterInboundBytes
			Counter64,
		etsysMultiAuthCounterInboundPackets
			Counter64,
		etsysMultiAuthCounterOutboundBytes
			Counter64,
		etsysMultiAuthCounterOutboundPackets
			Counter64 
    }	

etsysMultiAuthCounterInboundBytes OBJECT-TYPE
	SYNTAX  	Counter64
	MAX-ACCESS	read-only
	STATUS 	    current
	DESCRIPTION
		"The number of bytes of user data received on this interface."
	::= { etsysMultiAuthCounterEntry 1 }

etsysMultiAuthCounterInboundPackets OBJECT-TYPE
	SYNTAX  	Counter64
	MAX-ACCESS	read-only
	STATUS 	    current
	DESCRIPTION
		"The number of packets of user data received on this interface."
	::= { etsysMultiAuthCounterEntry 2 }

etsysMultiAuthCounterOutboundBytes OBJECT-TYPE
	SYNTAX  	Counter64
	MAX-ACCESS	read-only
	STATUS      current
	DESCRIPTION
		"The number of bytes of user data transmitted on this interface."
	::= { etsysMultiAuthCounterEntry 3 }

etsysMultiAuthCounterOutboundPackets OBJECT-TYPE
	SYNTAX  	Counter64
	MAX-ACCESS	read-only
	STATUS      current
	DESCRIPTION
		"The number of packets of user data transmitted on this interface."
	::= { etsysMultiAuthCounterEntry 4 }

etsysMultiAuthCounterEnable OBJECT-TYPE
	SYNTAX 	     EnabledStatus
	MAX-ACCESS   read-write
	STATUS 	     current
	DESCRIPTION
        "This object allows for the enabling or disabling of 
         per-user counters."
	DEFVAL	{ disabled }
	::= { etsysMultiAuthCounters 2 }

-- -------------------------------------------------------------
-- The Multiple Authentication Notification Group
-- -------------------------------------------------------------

etsysMultiAuthSuccess NOTIFICATION-TYPE
    OBJECTS { etsysMultiAuthStationAddrType, etsysMultiAuthStationAddr, 
              ifIndex, etsysMultiAuthSessionAgentType }
    STATUS  current
    DESCRIPTION
        "An etsysMultiAuthSuccess trap signifies that the SNMP entity, 
         acting in an agent role, has successfully authenticated a 
         station on one of its interfaces.  The included objects
         of etsysMultiAuthStationAddrType and etsysMultiAuthStationAddr
         uniquely identify the station that has been authenticated.
         The interface that the station was authenticated on is
         specified by the ifIndex object, and the type of authentication
         used is to authenticate the station is specified by the 
         etsysMultiAuthSessionAgentType object.  This trap will only
         be generated on interfaces that are in the authOptional(3)
         or authRequired(4) state."
    ::= { etsysMultiAuthNotification 1 }

etsysMultiAuthFailed NOTIFICATION-TYPE
    OBJECTS { etsysMultiAuthStationAddrType, etsysMultiAuthStationAddr,
              ifIndex, etsysMultiAuthSessionAgentType }
    STATUS  current
    DESCRIPTION
        "An etsysMultiAuthFailed trap signifies that the SNMP entity, 
         acting in an agent role, has identified a station that attempted
         and subsequently failed to authenticate on one of its interfaces.
         The included objects of etsysMultiAuthStationAddrType and 
         etsysMultiAuthStationAddr uniquely identify the station that 
         attempted to authenticate.  The interface that the station 
         attempted to authenticate on is specified by the ifIndex object, 
         and the type of authentication attempted is specified by the 
         etsysMultiAuthSessionAgentType object.  This trap will only
         be generated on interfaces that are in the authOptional(3)
         or authRequired(4) state."
    ::= { etsysMultiAuthNotification 2 }

etsysMultiAuthTerminated NOTIFICATION-TYPE
    OBJECTS { etsysMultiAuthStationAddrType, etsysMultiAuthStationAddr,
              ifIndex, etsysMultiAuthSessionAgentType }
    STATUS  current
    DESCRIPTION
        "An etsysMultiAuthTerminated trap signifies that the SNMP entity,  
         acting in an agent role, has terminated the authentication of a 
         station on one of its interfaces.  The included objects
         of etsysMultiAuthStationAddrType and etsysMultiAuthStationAddr
         uniquely identify the station for which  authentication was 
         terminated.  The interface that the station was previously 
         authenticated on is specified by the ifIndex object, and the 
         type of authentication that the station was terminated for is
         specified by the etsysMultiAuthSessionAgentType object.  This 
         trap will only be generated on interfaces that are in the 
         authOptional(3) or authRequired(4) state."
    ::= { etsysMultiAuthNotification 3 }

etsysMultiAuthMaxNumUsersReached NOTIFICATION-TYPE
    OBJECTS { ifIndex }
    STATUS  current
    DESCRIPTION
        "An etsysMultiAuthMaxNumUsersReached trap signifies that the SNMP 
         entity, acting in an agent role, has an interface where 
         subsequent to a successful authentication, the number of current
         sessions on the interface equals the maximum number of sessions 
         allowed for that interface.  The interface that the maximum 
         number of sessions has been reached is specified by the ifIndex 
         object."
    ::= { etsysMultiAuthNotification 4 }

etsysMultiAuthModuleMaxNumUsersReached NOTIFICATION-TYPE
    OBJECTS { entPhysicalIndex }
    STATUS  current
    DESCRIPTION
        "An etsysMultiAuthModuleMaxNumUsersReached trap signifies that the 
         SNMP entity, acting in an agent role, has a module where 
         subsequent to a successful authentication, the number of current
         sessions on the module equals the maximum number of sessions 
         allowed for that module.  The module that the maximum 
         number of sessions has been reached is specified by the 
         entPhysicalIndex object."
    ::= { etsysMultiAuthNotification 5 }
    
etsysMultiAuthSystemMaxNumUsersReached NOTIFICATION-TYPE
    STATUS  current
    DESCRIPTION
        "An etsysMultiAuthSystemMaxNumUsersReached trap signifies that the 
         SNMP entity, acting in an agent role, where subsequent to a successful 
         authentication, has the number of current sessions on the system equals 
         the maximum number of sessions allowed for that system, ."
    ::= { etsysMultiAuthNotification 6 }    
    
-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysMultiAuthConformance OBJECT IDENTIFIER ::= { etsysMultiAuthMIB 2 }

etsysMultiAuthGroups      OBJECT IDENTIFIER ::= { etsysMultiAuthConformance 1 }
etsysMultiAuthCompliances OBJECT IDENTIFIER ::= { etsysMultiAuthConformance 2 }


-- -------------------------------------------------------------
-- Units of conformance
-- -------------------------------------------------------------

etsysMultiAuthSystemGroup OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthSystemSupportedTypes,
        etsysMultiAuthSystemMaxNumUsers,
        etsysMultiAuthSystemCurrentNumUsers,
        etsysMultiAuthSystemMode,
        etsysMultiAuthSystemDefaultPrecedence,
        etsysMultiAuthSystemAdminPrecedence,
        etsysMultiAuthSystemOperPrecedence
    }
    STATUS     deprecated
    DESCRIPTION
        "The system group for all devices supporting Multiple 
         Authentication."
    ::= { etsysMultiAuthGroups 1 }

etsysMultiAuthPortBaseGroup OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthPortMode,
        etsysMultiAuthPortMaxNumUsers,
        etsysMultiAuthPortNumUsersAllowed,
        etsysMultiAuthPortCurrentNumUsers,
        etsysMultiAuthPortClearUsers
    }
    STATUS     current
    DESCRIPTION
        "The base level port group for all devices supporting Multiple 
         Authentication."
    ::= { etsysMultiAuthGroups 2 }

etsysMultiAuthPortTrapGroup OBJECT-GROUP
    OBJECTS { etsysMultiAuthPortTrapEnable }
    STATUS     current
    DESCRIPTION
        "This group of objects for all devices supporting per interface 
         SNMP notifications."
    ::= { etsysMultiAuthGroups 3 }

etsysMultiAuthStationGroup OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthStationAddrType,
        etsysMultiAuthStationAddr,
        etsysMultiAuthStationClearUsers
    }
    STATUS     current
    DESCRIPTION
        "The station group for all devices supporting Multiple
         Authentication."
    ::= { etsysMultiAuthGroups 4 }

etsysMultiAuthSessionGroup OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthSessionAgentType,
        etsysMultiAuthSessionStationAuthStatus,
        etsysMultiAuthSessionAuthAttemptTime,
        etsysMultiAuthSessionAuthServerType,
        etsysMultiAuthSessionAuthServerAddrType,
        etsysMultiAuthSessionAuthServerAddr,
        etsysMultiAuthSessionPolicyIndex,
        etsysMultiAuthSessionIsApplied,
        etsysMultiAuthSessionPortAuthStatus
    }
    STATUS     deprecated
    DESCRIPTION
        "The session group for all devices supporting Multiple
         Authentication."
    ::= { etsysMultiAuthGroups 5 }

etsysMultiAuthNotificationPortGroup NOTIFICATION-GROUP
    NOTIFICATIONS { 
        etsysMultiAuthSuccess,  
        etsysMultiAuthFailed,
        etsysMultiAuthTerminated,
        etsysMultiAuthMaxNumUsersReached
    }
    STATUS  current
    DESCRIPTION
        "The group of per interface notifications for Multiple 
         Authentication."
    ::= { etsysMultiAuthGroups 6 }

etsysMultiAuthModuleGroup OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthModuleMaxNumUsers,
        etsysMultiAuthModuleCurrentNumUsers
    }
    STATUS     current
    DESCRIPTION
        "The module group for all devices supporting Multiple 
         Authentication."
    ::= { etsysMultiAuthGroups 7 }

etsysMultiAuthSessionGroup2 OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthSessionAgentType,
        etsysMultiAuthSessionStationAuthStatus,
        etsysMultiAuthSessionAuthAttemptTime,
        etsysMultiAuthSessionAuthServerType,
        etsysMultiAuthSessionAuthServerAddrType,
        etsysMultiAuthSessionAuthServerAddr,
        etsysMultiAuthSessionPolicyIndex,
        etsysMultiAuthSessionIsApplied,
        etsysMultiAuthSessionTerminationTime,
        etsysMultiAuthSessionPortAuthStatus
    }
    STATUS     deprecated
    DESCRIPTION
        "The session group for all devices supporting Multiple
         Authentication."
    ::= { etsysMultiAuthGroups 8 }

etsysMultiAuthTimeoutGroup OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthType,
        etsysMultiAuthSessionTimeout,
        etsysMultiAuthIdleTimeout,
        etsysMultiAuthSessionSessionTimeout,
        etsysMultiAuthSessionIdleTimeout,
        etsysMultiAuthSessionDuration,
        etsysMultiAuthSessionIdleTime
    }
    STATUS     current
    DESCRIPTION
        "The group of objects for all devices that support timing out
         Multiple Authentication sessions."
    ::= { etsysMultiAuthGroups 9 }

etsysMultiAuthCurrentNumUsersGroup OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthCurrentNumUsers,
        etsysMultiAuthPortTypeCurrentNumUsers
    }
    STATUS     current
    DESCRIPTION
        "The group of objects for all devices that support counting the 
         number of current users on a per authentication type basis."
    ::= { etsysMultiAuthGroups 10 }

etsysMultiAuthModuleTrapGroup OBJECT-GROUP
    OBJECTS { etsysMultiAuthModuleMaxNumUsersReachedTrapEnable }
    STATUS     current
    DESCRIPTION
        "The group of objects for all devices supporting module 
         SNMP notifications."
    ::= { etsysMultiAuthGroups 11 }
    
etsysMultiAuthSystemTrapGroup OBJECT-GROUP
    OBJECTS { etsysMultiAuthSystemMaxNumUsersReachedTrapEnable }
    STATUS     current
    DESCRIPTION
        "The group of objects for all devices supporting system 
         SNMP notifications."
    ::= { etsysMultiAuthGroups 12 }

etsysMultiAuthNotificationModuleGroup NOTIFICATION-GROUP
    NOTIFICATIONS { etsysMultiAuthModuleMaxNumUsersReached }
    STATUS  current
    DESCRIPTION
        "The group of per module notifications for Multiple 
         Authentication."
    ::= { etsysMultiAuthGroups 13 }
    
etsysMultiAuthNotificationSystemGroup NOTIFICATION-GROUP
    NOTIFICATIONS { etsysMultiAuthSystemMaxNumUsersReached }
    STATUS  current
    DESCRIPTION
        "The group of per system notifications for Multiple 
         Authentication."
    ::= { etsysMultiAuthGroups 14 }
                
etsysMultiAuthTunnelAttributeGroup OBJECT-GROUP
    OBJECTS { etsysMultiAuthSessionVlanTunnelAttribute }
    STATUS     current
    DESCRIPTION
        "The group of objects for all devices supporting 802.1X
         RADIUS tunnel attributes for 802.1Q VLANs." 
    ::= { etsysMultiAuthGroups 15 }

etsysMultiAuthCounterEnableGroup OBJECT-GROUP
    OBJECTS { etsysMultiAuthCounterEnable }
    STATUS current
    DESCRIPTION
        "The group of objects for all devices supporting
         multiple authenticaiton counters."
    ::= { etsysMultiAuthGroups 16 }

etsysMultiAuthInboundCounterGroup OBJECT-GROUP
    OBJECTS { 
        etsysMultiAuthCounterInboundBytes, 
        etsysMultiAuthCounterInboundPackets 
    }
    STATUS current
    DESCRIPTION
        "The group of objects for all devices which support
         inbound counter collection."
    ::= { etsysMultiAuthGroups 17 }

etsysMultiAuthOutboundCounterGroup OBJECT-GROUP
    OBJECTS { 
        etsysMultiAuthCounterOutboundBytes, 
        etsysMultiAuthCounterOutboundPackets 
    }
    STATUS current
    DESCRIPTION
        "The group of objects for all devices which support
         outbound counter collection."
    ::= { etsysMultiAuthGroups 18 }

etsysMultiAuthSessionGroup3 OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthSessionAgentType,
        etsysMultiAuthSessionStationAuthStatus,
        etsysMultiAuthSessionAuthAttemptTime,
        etsysMultiAuthSessionAuthServerType,
        etsysMultiAuthSessionAuthServerAddrType,
        etsysMultiAuthSessionAuthServerAddr,
        etsysMultiAuthSessionPolicyIndex,
        etsysMultiAuthSessionIsApplied,
        etsysMultiAuthSessionTerminationTime,
        etsysMultiAuthSessionPortAuthStatus,
        etsysMultiAuthSessionClear
    }
    STATUS     current
    DESCRIPTION
        "The session group for all devices supporting Multiple
         Authentication."
    ::= { etsysMultiAuthGroups 19 }
   
etsysMultiAuthSystemGroup2 OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthSystemSupportedTypes,
        etsysMultiAuthSystemMaxNumUsers,
        etsysMultiAuthSystemCurrentNumUsers,
        etsysMultiAuthSystemMode,
        etsysMultiAuthSystemDefaultPrecedence,
        etsysMultiAuthSystemAdminPrecedence,
        etsysMultiAuthSystemOperPrecedence,
        etsysMultiAuthSessionsUniquePerPort
    }
    STATUS     deprecated
    DESCRIPTION
        "The system group for all devices supporting Multiple
         Authentication."
    ::= { etsysMultiAuthGroups 20 }

etsysMultiAuthSystemGroup3 OBJECT-GROUP
    OBJECTS {
        etsysMultiAuthSystemSupportedTypes,
        etsysMultiAuthSystemMaxNumUsers,
        etsysMultiAuthSystemCurrentNumUsers,
        etsysMultiAuthSystemMode,
        etsysMultiAuthSystemDefaultPrecedence,
        etsysMultiAuthSystemAdminPrecedence,
        etsysMultiAuthSystemOperPrecedence,
        etsysMultiAuthSessionsUniquePerPort,
        etsysMultiAuthSessionsUniquePerPortOperStatus,
        etsysMultiAuthSystemReAuthenticationTimeoutAction
    }
    STATUS     current
    DESCRIPTION
        "The system group for all devices supporting Multiple
         Authentication."
    ::= { etsysMultiAuthGroups 21 }
 
-- -------------------------------------------------------------
-- Compliance statements
-- -------------------------------------------------------------

etsysMultiAuthCompliance MODULE-COMPLIANCE
    STATUS     deprecated
    DESCRIPTION
        "This compliance statement has been deprecated in favor of
         the expanded group defined by etsysMultiAuthCompliance2."

    MODULE
        MANDATORY-GROUPS { 
            etsysMultiAuthSystemGroup,
            etsysMultiAuthPortBaseGroup,
            etsysMultiAuthStationGroup,
            etsysMultiAuthSessionGroup
        }

        GROUP       etsysMultiAuthPortTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationPortGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        OBJECT      etsysMultiAuthSystemAdminPrecedence
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortNumUsersAllowed
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthStationClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

    ::= { etsysMultiAuthCompliances 1 }

etsysMultiAuthCompliance2 MODULE-COMPLIANCE
    STATUS     deprecated
    DESCRIPTION
        "This compliance statement has been deprecated in favor of
         the expanded group defined by etsysMultiAuthCompliance3."

    MODULE
        MANDATORY-GROUPS {
            etsysMultiAuthSystemGroup,
            etsysMultiAuthPortBaseGroup,
            etsysMultiAuthStationGroup,
            etsysMultiAuthSessionGroup
        }

        GROUP       etsysMultiAuthPortTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationPortGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthModuleGroup
        DESCRIPTION
            "This group is mandatory for all devices that support 
             module authentication resources that are not shared 
             between modules."

        OBJECT      etsysMultiAuthSystemAdminPrecedence
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortNumUsersAllowed
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthStationClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

    ::= { etsysMultiAuthCompliances 2 }

etsysMultiAuthCompliance3 MODULE-COMPLIANCE
    STATUS     deprecated
    DESCRIPTION
        "This compliance statement has been deprecated in favor of
         the expanded group defined by etsysMultiAuthCompliance4."

    MODULE
        MANDATORY-GROUPS {
            etsysMultiAuthSystemGroup,
            etsysMultiAuthPortBaseGroup,
            etsysMultiAuthStationGroup,
            etsysMultiAuthSessionGroup2
        }

        GROUP       etsysMultiAuthPortTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationPortGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthModuleGroup
        DESCRIPTION
            "This group is mandatory for all devices that support
             module authentication resources that are not shared
             between modules."

        OBJECT      etsysMultiAuthSystemAdminPrecedence
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortNumUsersAllowed
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthStationClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

    ::= { etsysMultiAuthCompliances 3 }   

etsysMultiAuthTimeoutCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for devices that support timing out 
         of Multiple Authentication sessions."

    MODULE
        GROUP       etsysMultiAuthTimeoutGroup
        DESCRIPTION
           "This group is mandatory for all devices that support timing
            out Multiple Authentication sessions."
        
        OBJECT      etsysMultiAuthSessionTimeout
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthIdleTimeout
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

    ::= { etsysMultiAuthCompliances  4 }

etsysMultiAuthCurrentNumUserCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for all devices that support counting
         the number of current users on a per authentication type 
         basis."

    MODULE
        GROUP       etsysMultiAuthCurrentNumUsersGroup
        DESCRIPTION
           "This group is mandatory for all devices that support 
            support counting the number of current users on a per 
            authentication type basis."

    ::= { etsysMultiAuthCompliances 5 }
  
etsysMultiAuthCompliance4 MODULE-COMPLIANCE
    STATUS     deprecated
    DESCRIPTION
        "This compliance statement has been deprecated in favor of
         the expanded group defined by etsysMultiAuthCompliance5."

    MODULE
        MANDATORY-GROUPS {
            etsysMultiAuthSystemGroup,
            etsysMultiAuthPortBaseGroup,
            etsysMultiAuthStationGroup,
            etsysMultiAuthSessionGroup2
        }

        GROUP       etsysMultiAuthPortTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationPortGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthModuleGroup
        DESCRIPTION
            "This group is mandatory for all devices that support
             module authentication resources that are not shared
             between modules."

        OBJECT      etsysMultiAuthSystemAdminPrecedence
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortNumUsersAllowed
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthStationClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."
            
        GROUP       etsysMultiAuthModuleTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             module notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationModuleGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             module notifications for Multiple Authentication."
             
        GROUP       etsysMultiAuthSystemTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             system notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationSystemGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             system notifications for Multiple Authentication."                 

    ::= { etsysMultiAuthCompliances 6 }     

etsysMultiTunnelAttributeCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for all devices that support 802.1X
         RADIUS Tunnel Attributes."

    MODULE
        GROUP       etsysMultiAuthTunnelAttributeGroup
        DESCRIPTION
           "This group is mandatory for all devices that support
            support 802.1X RADIUS Tunnel Attributes."

    ::= { etsysMultiAuthCompliances 7 }

etsysMultiAuthCounterCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for all devices that support 
         multiple authentication counter collection."

    MODULE
        GROUP     etsysMultiAuthCounterEnableGroup
        DESCRIPTION
            "This group is mandatory for all devices that support
             multiple authentication counter collection."
        
        GROUP     etsysMultiAuthInboundCounterGroup
        DESCRIPTION
            "Support for this group is optional and only applies
             to objects that wish to support inbound 
             multiple authentication counter collection."
             
        GROUP     etsysMultiAuthOutboundCounterGroup
        DESCRIPTION
            "Support for this group is optional and only applies
             to objects that wish to support outbound
             multiple authentication counter collection."

    ::= { etsysMultiAuthCompliances 8 } 

etsysMultiAuthCompliance5 MODULE-COMPLIANCE
    STATUS     deprecated
    DESCRIPTION
        "The compliance statement for devices that support Multiple
         Authentication."

    MODULE
        MANDATORY-GROUPS {
            etsysMultiAuthSystemGroup2,
            etsysMultiAuthPortBaseGroup,
            etsysMultiAuthStationGroup,
            etsysMultiAuthSessionGroup3
        }

        GROUP       etsysMultiAuthPortTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationPortGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthModuleGroup
        DESCRIPTION
            "This group is mandatory for all devices that support
             module authentication resources that are not shared
             between modules."

        OBJECT      etsysMultiAuthSystemAdminPrecedence
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortNumUsersAllowed
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthStationClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."
            
        GROUP       etsysMultiAuthModuleTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             module notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationModuleGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             module notifications for Multiple Authentication."
             
        GROUP       etsysMultiAuthSystemTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             system notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationSystemGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             system notifications for Multiple Authentication."                 

        OBJECT      etsysMultiAuthSessionsUniquePerPort
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

    ::= { etsysMultiAuthCompliances 9 } 

etsysMultiAuthCompliance6 MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION
        "The compliance statement for devices that support Multiple
         Authentication."

    MODULE
        MANDATORY-GROUPS {
            etsysMultiAuthSystemGroup3,
            etsysMultiAuthPortBaseGroup,
            etsysMultiAuthStationGroup,
            etsysMultiAuthSessionGroup3
        }

        GROUP       etsysMultiAuthPortTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationPortGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             interface notifications for Multiple Authentication."

        GROUP       etsysMultiAuthModuleGroup
        DESCRIPTION
            "This group is mandatory for all devices that support
             module authentication resources that are not shared
             between modules."

        OBJECT      etsysMultiAuthSystemAdminPrecedence
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortNumUsersAllowed
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthPortClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysMultiAuthStationClearUsers
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."
            
        OBJECT      etsysMultiAuthSessionsUniquePerPortOperStatus
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        GROUP       etsysMultiAuthModuleTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             module notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationModuleGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             module notifications for Multiple Authentication."
             
        GROUP       etsysMultiAuthSystemTrapGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             system notifications for Multiple Authentication."

        GROUP       etsysMultiAuthNotificationSystemGroup
        DESCRIPTION
            "This group is mandatory for all devices that support per
             system notifications for Multiple Authentication."

      ::= { etsysMultiAuthCompliances 10 }

END

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

EXTREME-MLAG-MIB DEFINITIONS ::= BEGIN

          IMPORTS
                     MODULE-IDENTITY         FROM SNMPv2-SMI
                     OBJECT-TYPE             FROM SNMPv2-SMI
                     DisplayString           FROM SNMPv2-TC
                     TimeStamp               FROM SNMPv2-TC
                     RowStatus               FROM SNMPv2-TC
                     TruthValue              FROM SNMPv2-TC
                     Counter32               FROM SNMPv2-SMI
                     NOTIFICATION-TYPE       FROM SNMPv2-SMI
                     Integer32               FROM SNMPv2-SMI
                     Unsigned32              FROM SNMPv2-SMI
                     InetAddressType, InetAddress FROM INET-ADDRESS-MIB
                     extremeAgent            FROM EXTREME-BASE-MIB
                     MacAddress              FROM SNMPv2-TC;

    extremeMlag MODULE-IDENTITY
        LAST-UPDATED "201701050000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION
            "Extreme Networks Multi-Switch LAG MIB"
        REVISION     "201701050000Z"
        DESCRIPTION
            "Added notifications for MLAG Alternate path up/down events."
        REVISION     "201308080000Z"
        DESCRIPTION
            "Extreme Networks Multi-Switch LAG MIB"
        ::= { extremeAgent 41 }

        extremeMlagObjects               OBJECT IDENTIFIER ::= { extremeMlag 1 }
        extremeMlagNotificationObjects   OBJECT IDENTIFIER ::= { extremeMlag 2 }
        extremeMlagNotifications         OBJECT IDENTIFIER ::= { extremeMlag 3 }
        extremeMlagNotificationsPrefix   OBJECT IDENTIFIER ::= { extremeMlagNotifications 0 }

        extremeMlagPeerTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF ExtremeMlagPeerEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                    "This table contains MLAG peer entries.
                    This table contains a MLAG peer switch association structure, associates an MLAG peer structure with an MLAG peer switch IP address.
                    Displays User configured items, MLAG peer switch state, MLAG port count and health-check statistics."
            ::= { extremeMlagObjects 1 }

        extremeMlagPeerEntry OBJECT-TYPE
            SYNTAX          ExtremeMlagPeerEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                    "An entry in the MLAG Peer Table"
            INDEX { extremeMlagPeerName }
            ::= { extremeMlagPeerTable 1 }

        ExtremeMlagPeerEntry ::= SEQUENCE {
            extremeMlagPeerName                 DisplayString,
            extremeMlagPeerVlan                 DisplayString,
            extremeMlagPeerVR                   DisplayString,
            extremeMlagLocalAddrType            InetAddressType,
            extremeMlagLocalIP                  InetAddress,
            extremeMlagPeerAddrType             InetAddressType,
            extremeMlagPeerIP                   InetAddress,
            extremeMlagPeerPortCount            Integer32,
            extremeMlagPeerCheckPointStatus     INTEGER,
            extremeMlagPeerRxHellos             Counter32,
            extremeMlagPeerRxCheckpointMsgs     Counter32,
            extremeMlagPeerHelloErrors          Counter32,
            extremeMlagPeerHelloTimeouts        Counter32,
            extremeMlagPeerUptime               TimeStamp,
            extremeMlagPeerLocalTxInterval      Integer32,
            extremeMlagPeerRemoteTxInterval     Integer32,
            extremeMlagPeerTxHellos             Counter32,
            extremeMlagPeerTxCheckpoints        Counter32,
            extremeMlagPeerCheckpointErrors     Counter32,
            extremeMlagPeerConnnectErrors       Counter32,
            extremeMlagPeerRowStatus            RowStatus,
            extremeMlagPeerCfgLacpMac           MacAddress,
            extremeMlagPeerOperLacpMac          MacAddress,

            extremeMlagPeerAlternateVlan        DisplayString,
            extremeMlagPeerAlternateVR          DisplayString,
            extremeMlagAlternateLocalAddrType   InetAddressType,
            extremeMlagAlternateLocalIP         InetAddress,
            extremeMlagAlternatePeerAddrType    InetAddressType,
            extremeMlagAlternatePeerIP          InetAddress,
            extremeMlagPeerAlternateRxHellos    Counter32,
            extremeMlagPeerAlternateHelloErrors Counter32,
            extremeMlagPeerAlternateHelloTimeouts Counter32,
            extremeMlagPeerAlternateTxHellos    Counter32
        }
        
        extremeMlagPeerName  OBJECT-TYPE
            SYNTAX          DisplayString (SIZE(1..32))
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                    "The name of the MLAG Peer switch.
                    MLAG Peer names must be alpha-numeric and must start with an alpha character."
            ::= { extremeMlagPeerEntry 1 }

        extremeMlagPeerVlan OBJECT-TYPE
            SYNTAX          DisplayString (SIZE(1..32))
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "The name of the VLAN through which the MLAG Peer can be reached."
            ::= { extremeMlagPeerEntry 2 }

        extremeMlagPeerVR OBJECT-TYPE
            SYNTAX          DisplayString (SIZE(1..32))
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                    "The name of the VR with which the MLAG peer VLAN is associated with." 
            ::= { extremeMlagPeerEntry 3 }

        extremeMlagLocalAddrType OBJECT-TYPE
                SYNTAX      InetAddressType
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                "The IP address type of the extremeMlagLocalIP object."
                ::= { extremeMlagPeerEntry 4 }

        extremeMlagLocalIP OBJECT-TYPE
                SYNTAX      InetAddress
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                        "Local Switch IPAddress of ISC connection."
                ::= { extremeMlagPeerEntry 5 }

        extremeMlagPeerAddrType OBJECT-TYPE
                SYNTAX      InetAddressType
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                "The IP address type of the extremeMlagPeerIP object."
                ::= { extremeMlagPeerEntry 6 }

        extremeMlagPeerIP OBJECT-TYPE
                SYNTAX      InetAddress
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                        "MLAG peer IP address for the ISC.
                        The specified IP address must be contained within an existing direct route."
                ::= { extremeMlagPeerEntry 7 }
               
        extremeMlagPeerPortCount OBJECT-TYPE
            SYNTAX          Integer32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of MLAG Ports associated with this MLAG peer"
            ::= { extremeMlagPeerEntry 8 }

        extremeMlagPeerCheckPointStatus OBJECT-TYPE
            SYNTAX          INTEGER {
                                up(1),
                                down(2)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                        "Checkpointing Status of this MLAG peer"
            ::= { extremeMlagPeerEntry 9 }
                
        extremeMlagPeerRxHellos OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Hellos received from the peer"
            ::= { extremeMlagPeerEntry 10 }
                
        extremeMlagPeerRxCheckpointMsgs OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Checkpoint Messages received from the peer"
            ::= { extremeMlagPeerEntry 11 }

        extremeMlagPeerHelloErrors OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Hello Error Messages"
            ::= { extremeMlagPeerEntry 12 }

        extremeMlagPeerHelloTimeouts OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Hello Timeout Messages"
            ::= { extremeMlagPeerEntry 13 }
                
        extremeMlagPeerUptime OBJECT-TYPE
            SYNTAX          TimeStamp
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Specifies the time that the Connectivity with the peer is up"
            ::= { extremeMlagPeerEntry 14 }
            
        extremeMlagPeerLocalTxInterval      OBJECT-TYPE
            SYNTAX          Integer32 (50..10000)
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                    "Length of the time in milli seconds between health check hello packets 
                    transmitted by this switch."
            DEFVAL { 100 }
            ::= { extremeMlagPeerEntry 15 }
                
        extremeMlagPeerRemoteTxInterval OBJECT-TYPE
            SYNTAX          Integer32 (50..10000)
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Transmitting Hello Interval of Peer Switch in milli seconds"
            ::= { extremeMlagPeerEntry 16 }
                
        extremeMlagPeerTxHellos OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Health Check Hellos transmitted"
            ::= { extremeMlagPeerEntry 17 }
                
        extremeMlagPeerTxCheckpoints OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of transmitted Checkpoint messages"
            ::= { extremeMlagPeerEntry 18 }

        extremeMlagPeerCheckpointErrors OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Checkpoint Errors"
            ::= { extremeMlagPeerEntry 19 }
                
        extremeMlagPeerConnnectErrors OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Peer Connect errors"
            ::= { extremeMlagPeerEntry 20 }

        extremeMlagPeerRowStatus OBJECT-TYPE
            SYNTAX          RowStatus
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                    "The status of this entry"
            ::= { extremeMlagPeerEntry 21 }

        extremeMlagPeerCfgLacpMac OBJECT-TYPE
            SYNTAX          MacAddress
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "This MAC address specifies the MLAG LACP MAC configured on this switch. If configured, this MAC is used as the System Identifier in the LACPDUs sent over the MLAG Ports. If not configured, the MAC address of MLAG peer having highest IP address for ISC control VLAN is chosen as the System Identifier in the LACPDUs sent over the MALG ports."
            ::= { extremeMlagPeerEntry 22 }

        extremeMlagPeerOperLacpMac OBJECT-TYPE
            SYNTAX          MacAddress
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "This MAC address specifies the MLAG LACP MAC that is being used as the System Identifier in the LACPDUs sent over the MLAG Ports. This may be different from extremeMlagPeerCfgLacpMac if same extremeMlagPeerCfgLacpMac is not configured on both the MLAG peers."
            ::= { extremeMlagPeerEntry 23 }

        extremeMlagPeerAlternateVlan OBJECT-TYPE
            SYNTAX          DisplayString (SIZE(1..32))
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "The name of the alternate VLAN through which the MLAG Peer can be reached when the primary path is unreachable."
            ::= { extremeMlagPeerEntry 24 }

        extremeMlagPeerAlternateVR OBJECT-TYPE
            SYNTAX          DisplayString (SIZE(1..32))
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                    "The name of the alternate VR with which the MLAG peer alternate VLAN is associated with." 
            ::= { extremeMlagPeerEntry 25 }

        extremeMlagAlternateLocalAddrType OBJECT-TYPE
                SYNTAX      InetAddressType
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                "The IP address type of the extremeMlagAlternateLocalIP object."
                ::= { extremeMlagPeerEntry 26 }

        extremeMlagAlternateLocalIP OBJECT-TYPE
                SYNTAX      InetAddress
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                        "Local Switch IPAddress for alternate health check connection to MLAG peer."
                ::= { extremeMlagPeerEntry 27 }

        extremeMlagAlternatePeerAddrType OBJECT-TYPE
                SYNTAX      InetAddressType
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                "The IP address type of the extremeMlagAlternatePeerIP object."
                ::= { extremeMlagPeerEntry 28 }

        extremeMlagAlternatePeerIP OBJECT-TYPE
                SYNTAX      InetAddress
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION
                        "MLAG peer IP address for alternate health check connection."
                ::= { extremeMlagPeerEntry 29 }

        extremeMlagPeerAlternateRxHellos OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Hellos received from the peer on the alternate health check connection"
            ::= { extremeMlagPeerEntry 30 }
                
        extremeMlagPeerAlternateHelloErrors OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Hello Error Messages on the alternate health check connection"
            ::= { extremeMlagPeerEntry 31 }

        extremeMlagPeerAlternateHelloTimeouts OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Hello Timeout Messages on the alternate health check connection"
            ::= { extremeMlagPeerEntry 32 }

        extremeMlagPeerAlternateTxHellos OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Number of Health Check Hellos transmitted on the alternate health check connection"
            ::= { extremeMlagPeerEntry 33 }

        extremeMlagPortTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF ExtremeMlagPortEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                    "This table contains Mlag port entries.
                    Binds a local port or LAG port to an MLAG port uniquely indentified by the MLAG Id value.
                    Once the MLAG group binding is made, any change to load sharing on MLAG ports is disallowed.
                    Displays User configured items, MLAG peer switch state, port count and health-check statistics."
            ::= { extremeMlagObjects 2 }

        extremeMlagPortEntry OBJECT-TYPE
            SYNTAX          ExtremeMlagPortEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "An entry in the MLagPortTable"
            INDEX { extremeMlagPortLocalPortIfIndex }
            ::= { extremeMlagPortTable 1 }

        ExtremeMlagPortEntry ::= SEQUENCE {
            extremeMlagPortLocalPortIfIndex    Unsigned32,
            extremeMlagPortId                  Integer32,
            extremeMlagPortPeer                DisplayString,
            extremeMlagPortLocalLinkStatus     INTEGER,
            extremeMlagPortRemoteLinkStatus    INTEGER,
            extremeMlagPortPeerState           INTEGER,
            extremeMlagPortLocalFailures       Counter32,
            extremeMlagPortRemoteFailures      Counter32,
            extremeMlagPortRowStatus           RowStatus
        }

        extremeMlagPortLocalPortIfIndex OBJECT-TYPE
            SYNTAX          Unsigned32
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                    "The ifIndex of the local member port of the MLAG port.
                    The specified port ifIndex may be a single port or the master port of a
                    load share port but should not be a load share member port."
            ::= { extremeMlagPortEntry 1 }

        extremeMlagPortId OBJECT-TYPE
            SYNTAX          Integer32 (1 .. 65000)
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                    "The identifier which is used to identify the MLAG port"
            ::= { extremeMlagPortEntry 2 }
                
        extremeMlagPortPeer OBJECT-TYPE
            SYNTAX          DisplayString
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION
                    "This object identifies the MLAG peer switch with which this port is associated"
            ::= { extremeMlagPortEntry 3 }

        extremeMlagPortLocalLinkStatus OBJECT-TYPE
            SYNTAX          INTEGER {
                                active(1),
                                disabled(2),
                                ready(3),
                                portNotPresent(4)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Local MLAG Port Status, that can be Active/Disabled/Ready/Port not present.
                    It reflects the status of entire LAG when LAG is used in conjunction with MLAG."
            ::= { extremeMlagPortEntry 4 }
         
        extremeMlagPortRemoteLinkStatus OBJECT-TYPE
            SYNTAX          INTEGER {
                                up(1),
                                down(2),
                                notAvailable(3)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Remote MLAG Port Status,  which can be
                    Up(1) - One or more links are active on the remote switch or
                    Down(2)- No links are active on the remote switch or
                    N/A(3) - The peer has not communicated link state for this MLAG group.
                    It reflects the status of entire LAG when LAG is used in conjunction with MLAG."
            ::= { extremeMlagPortEntry 5 }
                
        extremeMlagPortPeerState OBJECT-TYPE
            SYNTAX          INTEGER {
                                up(1),
                                down(2)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "MLAG Peer Switch State, up/down"
            ::= { extremeMlagPortEntry 6 }
                
        extremeMlagPortLocalFailures OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Gives the number of ports that are down in the local MLAG port."
            ::= { extremeMlagPortEntry 7 }
                
        extremeMlagPortRemoteFailures OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
                    "Gives number of ports that are down in the remote MLAG port"
            ::= { extremeMlagPortEntry 8 }

        extremeMlagPortRowStatus OBJECT-TYPE
            SYNTAX          RowStatus
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                    "The status of this entry."
            ::= { extremeMlagPortEntry 9 }
                
    extremeMlagConvergenceControl OBJECT-TYPE
            SYNTAX          INTEGER {
                                fastConvergence(1),
                                conserveAccessLists(2)
                            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This object specifies if an ACL can be used on an MLAG port to achieve faster convergence. If an ACL is used, better
                 convergence times can be achieved irrespective of the number of FDB entries present on the MLAG port.
                 The second time can be chosen when convergence time is not an issue and ACLs are to be preserved."
        DEFVAL { conserveAccessLists }
        ::= { extremeMlagObjects 3 }

   extremeMlagPeerUp NOTIFICATION-TYPE
       OBJECTS { extremeMlagPeerName }
       STATUS  current
       DESCRIPTION
               "This trap is sent when the MLAG peer comes up."
       ::= { extremeMlagNotificationsPrefix 1 }

   extremeMlagPeerDown NOTIFICATION-TYPE
       OBJECTS { extremeMlagPeerName }
       STATUS  current
       DESCRIPTION
               "This notification is sent when health check messages are not received from 
               the peer MLAG switch for 3 times the configured hello interval."
       ::= { extremeMlagNotificationsPrefix 2 }

   extremeMlagAltPathUp NOTIFICATION-TYPE
       OBJECTS { 
           extremeMlagAlternatePeerAddrType,
           extremeMlagAlternatePeerIP 
       }
       STATUS  current
       DESCRIPTION
               "This notification is sent when the ISC goes down and the alternate path to MLAG peer comes up."
       ::= { extremeMlagNotificationsPrefix 3 }

   extremeMlagAltPathDown NOTIFICATION-TYPE
       OBJECTS { 
           extremeMlagAlternatePeerAddrType,
           extremeMlagAlternatePeerIP 
       }
       STATUS  current
       DESCRIPTION
               "This notification is sent when the alternate path to MLAG peer is down. This can happen
                when either alternate path or remote peer is down or the ISC link has come up."
       ::= { extremeMlagNotificationsPrefix 4 }
END

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

EXTREME-HCLAG-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
                OBJECT-TYPE             FROM SNMPv2-SMI
                Unsigned32              FROM SNMPv2-SMI
                TEXTUAL-CONVENTION      FROM SNMPv2-TC
                TruthValue              FROM SNMPv2-TC
                RowStatus               FROM SNMPv2-TC
                DisplayString           FROM RFC1213-MIB
                extremeAgent            FROM EXTREME-BASE-MIB;

    extremeHclag MODULE-IDENTITY
        LAST-UPDATED "1212061000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Ethernet Health Check Link-Aggregation"  
        ::= { extremeAgent 38 }

    HclagGroupId
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "This represents the Health Check LAG group id."
        SYNTAX      DisplayString (SIZE(1..32))

    HclagMemberPort
    ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION "This represents a Health Check LAG's member-port."
        SYNTAX      Unsigned32 (0..4294967295)

    extremeHclagTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeHclagEntry
	MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains HCLAG information about all Health
                 Check LAGs on this device."
	::= { extremeHclag 1 }

    extremeHclagEntry OBJECT-TYPE
        SYNTAX ExtremeHclagEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "An individual entry of this table contains 
                 information related to that Health Check LAG."
        INDEX { extremeHclagGroup,
                extremeHclagMemberPort }
        ::= { extremeHclagTable 1 }

    ExtremeHclagEntry ::= SEQUENCE {
        extremeHclagGroup                HclagGroupId,
        extremeHclagMemberPort           HclagMemberPort,
        extremeHclagAdminState           TruthValue,
	extremeHclagLinkState            TruthValue,
	extremeHclagStatus               TruthValue
    }

    extremeHclagGroup  OBJECT-TYPE
        SYNTAX       HclagGroupId
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This represents the LAG (Link Aggregation Group's) 
                      identifier."
        ::= { extremeHclagEntry 1 }

    extremeHclagMemberPort  OBJECT-TYPE
        SYNTAX       HclagMemberPort
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
               "This represents a member port within the LAG."
        ::= { extremeHclagEntry 2 }

    extremeHclagAdminState  OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
               "This represents if the member port has been enabled for
                health checking"
        ::= { extremeHclagEntry 3 }


    extremeHclagLinkState  OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
               "This represents state of member ports physical link."
        ::= { extremeHclagEntry 4 }

    extremeHclagStatus  OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
               "This represents if the member port has been added to the
                aggregator or not."
        ::= { extremeHclagEntry 5 }
END

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

ENTERASYS-CLASS-OF-SERVICE-MIB DEFINITIONS ::= BEGIN

--  enterasys-cos-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Extreme
--  Networks' user class of service functionality.

--
--  This module will be extended, as needed.

--  Extreme Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Extreme Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Extreme Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Extreme
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Extreme Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Extreme Networks products.

--  Copyright 2004-2014 Extreme Networks, Inc.


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Gauge32, Unsigned32, 
    Counter64, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    RowStatus, TEXTUAL-CONVENTION, TruthValue, TimeStamp
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    ifName
        FROM IF-MIB
    PortList
        FROM Q-BRIDGE-MIB
    EnabledStatus
        FROM P-BRIDGE-MIB
    dot1dBasePort
        FROM BRIDGE-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES
    etsysPolicyRuleType, etsysPolicyRuleData, etsysPolicyRulePrefixBits, 
    etsysPolicyRulePortType, etsysPolicyRulePort
        FROM ENTERASYS-POLICY-PROFILE-MIB;


etsysCosMIB   MODULE-IDENTITY
    LAST-UPDATED "201412041643Z"  -- Thu Dec 04 16:43 UTC 2014
    ORGANIZATION "Extreme Networks, Inc."
    CONTACT-INFO
        "Postal:  Extreme Networks, Inc.
                  145 Rio Robles
                  San Jose, CA 95134 USA

         Phone:   +1 408 579-2800
         E-mail:  support@extremenetworks.com
         WWW:     http://www.extremenetworks.com"

    DESCRIPTION
        "This MIB module defines a portion of the SNMP enterprise 
         MIBs under the Enterasys enterprise OID pertaining to the
         configuration and application of transmission and reception
         attributes that comprise class of service for Extreme 
         network edge devices or access products."
 
    REVISION    "201412041643Z"  -- Thu Dec 04 16:43 UTC 2014
    DESCRIPTION
        "Updated etsysCosTxqPortGroupName, etsysCosIrlPortGroupName,
         etsysCosOrlPortGroupName, etsysCosFloodCtrlPortGroupName,
         etsysCosUserIrlrsPortGroupName, and
         etsysCosUserOrlrsPortGroupName octet string size to 32
         characters."

    REVISION    "201411251431Z"  -- Tue Nov 25 14:31 UTC 2014
    DESCRIPTION
        "Updated two DESCRIPTION clauses."
    
    REVISION    "201410131755Z"  -- Mon Oct 13 17:55 UTC 2014
    DESCRIPTION
        "Addition of the etsysCosTxqPortQMinRate leaf to the
         etsysCosTxqResourceTable table and the weightedRoundRobin 
         and weightedDeficitRR TxqArbiterModes.

         Updated the CONTACT-INFO clause."

    REVISION    "201109221548Z"  -- Thu Sep 22 15:48 UTC 2011
    DESCRIPTION
        "Addition of per inbound and outbound user rate limiter/rate shaper
         tables. These tables allow for the configuration of rate
         limiters and rate shapers at the user level."
        
    REVISION    "201011221823Z"  --  Mon Nov 22 18:23 UTC 2010
    DESCRIPTION
        "Changed the descriptions in etsysCosTxqPortEnhancedTransGroupId and
         etsysCosTxqPortSliceSetting. Setting etsysCosTxqPortEnhancedTransGroupId
         will no longer clear the settings etsysCosTxqPortSliceSetting, instead
         it will supersede the values."

    REVISION    "201009201412Z"  -- Mon Sep 20 14:12 UTC 2010
    DESCRIPTION
        "Added Enhanced Transmission Group and priority mappings to
         DCB Enhanced Transmission Traffic Classes"

    REVISION "201007281210Z"  -- Wed Jul 28 12:10 UTC 2010
    DESCRIPTION
        "Added support for Enhanced Transmission."

    REVISION "200802131503Z"  -- Wed Feb 13 15:03 UTC 2008
    DESCRIPTION
        "Further constrained size of etsysCosTosValue OCTET STRING."
    
    REVISION "200705240229Z"  -- Thu May 24  2:29 UTC 2007
    DESCRIPTION
        "Add support for inbound unicast, multicast and broadcast packet 
         flooding limits."
    
    REVISION "200504132122Z"  -- Wed Apr 13 21:22 GMT 2005
    DESCRIPTION
        "Additional branch etsysCosNotifications properly contains
         trap information."

    REVISION "200411221628Z"  -- Mon Nov 22 16:28 GMT 2004
    DESCRIPTION
        "Corrected the bits in the EtsysCosRlCapabilities textual
         convention."

    REVISION "200411091552Z"  -- Tue Nov  9 15:52 GMT 2004
    DESCRIPTION
        "The initial version of this MIB module."
    ::= { etsysModules 55 }


-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

TxqArbiterModes  ::=  TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention enumerates the possible arbiter
         modes.

         strict(0)              Queues are serviced until empty or
                                until a higher priority queue requires
                                servicing.
         weightedFairQ(1)       Weighted Fair Queuing. Queues are 
                                serviced according to weight.
         lowLatencyQ(2)         Some queues may be strict, while other 
                                are weighted-fair.
         enhancedTransmission(3) Non-Enhanced Transmission Selection queues are
                                 serviced using a low latency or strict arbiter.
                                 Any available bandwidth is then split
                                 using Weighted Fair Queuing among
                                 the Enhanced Transmission Selection
                                 Queues. 
         weightedRoundRobin(4)  Weighted Round Robin. Queues are serviced
                                round robin according to weight.
         weightedDeficitRR(5)   Weighted Deficit Round Robin. Serves each non-empty queue
                                whose deficit counter is greater than the size of the
                                packet at the head of the queue. If the deficit
                                counter is lower, the queue is skipped and the deficit
                                counter is increased by a given quantum."

    SYNTAX  BITS {
                    strict(0),
                    weightedFairQ(1),
                    lowLatencyQ(2),
                    enhancedTransmission(3),
                    weightedRoundRobin(4),
                    weightedDeficitRR(5)
            }


TxqAlgorithms  ::=  TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention enumerates the possible queuing
         algorithms.
         
         tailDrop(0)        The last entry in the queue is discarded
                            in favor of new entries.
         headDrop(1)        The first entry in the queue is discarded
                            in favor of new entries.
         red(2)             Random Early Discard.
         wred(3)            Weighted Random Early Discard."
    SYNTAX  BITS {
                    tailDrop(0),
                    headDrop(1),
                    red(2),
                    wred(3)
            }


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


EtsysCosRateTypes  ::=  TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention enumerates the possible inbound or
         outbound rate types.

         percentage(0)      A percentage of the total bandwidth 
                            available.
         pps(1)             Packet per second.
         kbps(2)            Kilobits per second.
         mbps(3)            Megabits per second.
         gbps(4)            Gigabits per second.
         tbps(5)            Terabits per second."
    SYNTAX  BITS {
                    percentage(0),
                    pps(1),
                    kbps(2),
                    mbps(3),
                    gbps(4),
                    tbps(5)
            }


EtsysCosRlCapabilities  ::=  TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention defines the supported actions for
         inbound or outbound rate limiting.

         drop(0)          Packets will be dropped.
         reprioritize(1)  Packet priority change.
         count(2)         Count the either packets or bits through the
                          limiter (specified by the configured 
                          EtsysCosRateTypes, percentage(1) not 
         chainingAnd(3)   Link limiters together, violated if ALL 
                          limiters of like EtsysRateLimitingType are 
                          violated, this is the default type of chained
                          limiters.
         chainingOr(4)    Link limiters together, violated if ANY 
                          limiters of like EtsysRateLimitingType are 
                          violated.
         syslog(5)        Syslog on first violation is supported.
         trap(6)          SNMP Notify on first violation is supported.
         disable(7)       Disable ingress port on first violation is 
                          supported."
    SYNTAX  BITS {
                    drop(0),
                    reprioritize(1),
                    count(2),
                    chainingAnd(3),
                    chainingOr(4),
                    syslog(5),
                    trap(6),
                    disable(7)
            }

EtsysCosUserModeCapabilities       ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention defines the capabilities the user
         rate limiter/ rate shaper can be configured to.

         rateLimiting(0)    Supports per user rate limiting.
         rateShaping(1)     Supports per user rate shaping."

    SYNTAX  BITS {
                    rateLimiting(0),
                    rateShaping(1)
                 }
                 
EtsysCosRlModes       ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention defines the operational mode the user rate
         limiter/rate shaper has been configured to.

         rateLimiting(0)    Rate limit user traffic
         rateShaping(1)     Rate shape user traffic."

    SYNTAX  INTEGER {
                    rateLimiting(0),
                    rateShaping(1)
                 }
                    

EtsysViolationAction  ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention defines the available actions 
         to be taken when a RateLimiter is violated for the
         first time (on a transition from 0 to 1 of a bit in the
         etsysCosIrlResourceViolationPortList).
         
         syslog(0)  System logging messages will be sent to the console
         trap(1)    A trap will be sent.
         disable(2) The dot1dBasePort on which the event occurred will
                    be operationally disabled."
    SYNTAX  BITS {
                    syslog(0),
                    trap(1),
                    disable(2)
            }


EtsysRateLimitingType  ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention defines the range of characteristics
         that can applied to inbound or outbound rate limiters. For
         chains of limiters, the behavior with respect to limiters of 
         like type (drop or reprioritize) may be controlled via the
         xxxOR nomenclature. By default ALL limiters of like type must
         be violated for the action (drop or reprioritize) to apply 
         (implicit AND).  The xxxOR types indicate that the action
         (drop or reprioritize) will be applied if ANY of the limiters
         is violated.  The count option counts packets or bits presented
         to the limiter."
    SYNTAX  INTEGER {
                    drop(0),
                    dropOR(1),
                    rePrioritize(2),
                    rePrioritizeOR(3),
                    count(4)
            }


EtsysRateLimitResetBits  ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention defines the reset properties for the
         statistics gathering portion of the rate limiters. If bit 0
         is set, the etsysCosIrlViolation TruthValue will be reset to
         false. If bit 1 is set, the etsysCosIrlUnitCounter will be
         reset to zero."
    SYNTAX  BITS {
                  clearViolation(0),
                  clearUnitCounter(1)
            }


-- -------------------------------------------------------------
-- MIB Objects 
-- -------------------------------------------------------------

etsysCosObjects           OBJECT IDENTIFIER ::= { etsysCosMIB 1 }

etsysCosNotifications     OBJECT IDENTIFIER
                      ::= { etsysCosObjects 0 }

etsysCosMasterReset       OBJECT IDENTIFIER
                      ::= { etsysCosObjects 1 }

etsysCosCapabilities      OBJECT IDENTIFIER
                      ::= { etsysCosObjects 2 }

etsysCos                  OBJECT IDENTIFIER
                      ::= { etsysCosObjects 3 }

etsysCosTxq               OBJECT IDENTIFIER
                      ::= { etsysCosObjects 4 }

etsysCosIrl               OBJECT IDENTIFIER
                      ::= { etsysCosObjects 5 }

etsysCosOrl               OBJECT IDENTIFIER
                      ::= { etsysCosObjects 6 }

etsysCosFloodControl      OBJECT IDENTIFIER
                      ::= { etsysCosObjects 7 }

etsysCosUserIrlrs   OBJECT IDENTIFIER
                      ::= { etsysCosObjects 8 }
                      
etsysCosUserOrlrs   OBJECT IDENTIFIER
                      ::= { etsysCosObjects 9 }

-- -------------------------------------------------------------
-- etsysCosMasterReset Group
-- -------------------------------------------------------------

etsysCosMibObjectAnullingBehavior OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object SHALL always read false. Setting this object to 
         true MUST remove all existing entries from all tables in all
         subordinate objects of etsysCosObjects, and nullify all 
         changes to any values. The resulting behavior should yield
         an unconfigured etsysCosMIB."
    DEFVAL { false }
    ::= { etsysCosMasterReset 1 }


-- -------------------------------------------------------------
-- etsysCosCapabilities Group
-- -------------------------------------------------------------

etsysCosCapability OBJECT-TYPE
    SYNTAX      BITS  {
        supports8021Dpriority(0),
                      -- user priority to traffic class mapping support
        supportsTosOverwrite(1),
                      -- Type of Service / Differentiated Service
                      -- Code Point re-assignment support
        supportsTosMasking(2),
                      -- The relevant bits used in determining
                      -- the TOS-overwrite data
        supportsTransmitQueue(3),
                      -- Transmit Bandwidth provisioning, weighted fair
                      -- queuing, RED, WRED, head/tail drop support
        supportsInboundRateLimiting(4),
                      -- drop, reprioritize, notify, chaining
                      -- for inbound traffic support
        supportsOutBoundRateLimiting(5),
                      -- drop, reprioritize, notify, chaining
                      -- for outbound traffic support
        supportsDropPrecedence(6),
        supportsUnknownUnicastRateLimiting(7),
                      -- drop, notify, port disable for inbound
                      -- unknown unicast traffic support
        supportsMulticastRateLimiting(8),
                      -- drop, notify, port disable for inbound
                      -- multicast traffic support
        supportsBroadcastRateLimiting(9),
                      -- drop, notify, port disable for inbound
                      -- broadcast traffic support
        supportsTransmitQueuePortShaping(10),
                      -- bandwidth shaping for outbound traffic
        supportUserInboundRateLimitingRateShaping(11),
                      -- Per user support for inbound rate limiting /
                      -- rate shapping
        supportUserOutboundRateLimitingRateShaping(12)
                      -- Per user support for outbound rate limiting /
                      -- rate shapping
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A list of capabilities related to class of service support.
        A set bit, with the value 1, indicates support for the
        described functionality.  A clear bit, with the value
        0, indicates the described functionality is not supported."
    ::= { etsysCosCapabilities 1 }


-- -------------------------------------------------------------
-- -------------------------------------------------------------
-- etsysCos Group
-- -------------------------------------------------------------
-- -------------------------------------------------------------

etsysCosMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of entries allowed in the etsysCosTable."
    ::= { etsysCos 1 }

etsysCosNumEntries OBJECT-TYPE
    SYNTAX      Gauge32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries in the etsysCosTable."
    ::= { etsysCos 2 }

etsysCosLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCos Table was last modified."
    ::= { etsysCos 3 }

etsysCosEnableState OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If enabled(1), controls configured for this MIB supersede 
         controls for portions of BRIDGE-MIB dealing with priority
         queue mapping, all of the CTRON-RATE-POLICING-MIB and 
         all of the CTRON-TX-QUEUE-ARBITRATION-MIB. A setting to 
         disabled(2) from enabled(1), results in the restoration of 
         any existing configurations from the aforementioned MIBs."
    DEFVAL { disabled }
    ::= { etsysCos 4 }

etsysCosTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosSettingsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing class of service settings to be applied
         to a dot1dBridge port or port groups."
    ::= { etsysCos 5 }

etsysCosEntry OBJECT-TYPE
    SYNTAX      EtsysCosSettingsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosTable. Entries within this table MUST be
         considered non-volatile and MUST be maintained across 
         entity resets."
    INDEX  { etsysCosIndex }
    ::= { etsysCosTable 1 }

EtsysCosSettingsEntry ::=
    SEQUENCE {
        etsysCosIndex
            Unsigned32,
        etsysCosRowStatus
            RowStatus,
        etsysCos8021dPriority
            Integer32,
        etsysCosTosValue
            OCTET STRING,
        etsysCosTxqReference
            Integer32,
        etsysCosIrlReference
            Integer32,
        etsysCosOrlReference
            Integer32,
        etsysCosDropPrecedence
            Integer32,
        etsysCosFloodControlStatus
            EnabledStatus,
        etsysCosUserIrlrsReference
            Integer32,
        etsysCosUserOrlrsReference
            Integer32
    }

etsysCosIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (0..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique class of service identifier for this CoS setting.
         For reasons of backward compatibility indexes 0-7 MUST exist
         and be configured with a etsysCos8021dPriority which
         matches the etsysCosIndex."
    ::= { etsysCosEntry 1 }

etsysCosRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "This object allows for the dynamic creation and deletion
         of entries within the etsysCosTable. Entries within 
         this table MUST be considered non-volatile and MUST be
         maintained across entity resets."
    ::= { etsysCosEntry 2 }

etsysCos8021dPriority OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..7)
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "The 802.1D priority to be associated with this Class of 
         Service.  If this field is returned as (-1) then it has not 
         been configured and no action will be taken for this 
         attribute."
         
    DEFVAL { -1 }
    ::= { etsysCosEntry 3 }

etsysCosTosValue OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..2))
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "The Type of Service or Differentiated Services Code Point
         value and mask to be associated with this Class of Service.  
         If this field is returned as <empty-string>, then it has not 
         been configured and no action will be taken for this 
         attribute. The first octet shall represent the TOS/DSCP value
         and the second octet shall represent the mask applied to that
         value. Agents that do not support masking shall fail sets to
         this object that include a mask octet."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosEntry 4 }

etsysCosTxqReference OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "The transmit queue table instance to reference for
         this Class of Service."
    ::= { etsysCosEntry 5 }

etsysCosIrlReference OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..32767)
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "The inbound rate limiting table instance to reference for
         this Class of Service. If this instance is returned as
         (-1), no action will be taken for this attribute."
    ::= { etsysCosEntry 6 }

etsysCosOrlReference OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..32767)
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "The outbound rate limiting table instance to reference for
         this Class of Service. If this instance is returned as
         (-1), no action will be taken for this attribute."
    ::= { etsysCosEntry 7 }

etsysCosDropPrecedence OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..255)
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "The drop precedence default action. If this field is returned 
         as (-1) then it has not been configured and no action will be 
         taken for this attribute. If unsupported the agent may 
         optionally implement this leaf as read-only."
    DEFVAL { -1 }
    ::= { etsysCosEntry 8 }

etsysCosFloodControlStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls whether flooded traffic will be rate limited based 
         on configuration in the etsysCosFloodControl groups."
    DEFVAL { disabled }
    ::= { etsysCosEntry 9 }

etsysCosUserIrlrsReference OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..32767)
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "The inbound user rate limiter/rate shaper table instance to 
         reference for this Class of Service. If this instance is 
         returned as (-1), no action will be taken for this attribute."
    ::= { etsysCosEntry 10 }

etsysCosUserOrlrsReference OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..32767)
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "The outbound user rate limiter/rate shaper table instance to 
         reference for this Class of Service. If this instance is 
         returned as (-1), no action will be taken for this attribute."
    ::= { etsysCosEntry 11 }

-- -------------------------------------------------------------
-- -------------------------------------------------------------
-- etsysCosTxq Tables
-- -------------------------------------------------------------
-- -------------------------------------------------------------


-- ---------------------------------------------------------------------
-- etsysCosTxqPortTypeTable
-- ---------------------------------------------------------------------

etsysCosTxqNumPortTypes OBJECT-TYPE
    SYNTAX      Integer32 (1..2048)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The actual number of distinctly unique (as defined by
         the set of shared Transmit Queue capabilities)
         port types available for configuration on this agent."
    ::= { etsysCosTxq 1 }

etsysCosTxqPortTypeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosTxqPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table defining the distinctly unique transmit queue 
         characteristics of a group of ports."
    ::= { etsysCosTxq 2 }

etsysCosTxqPortTypeEntry OBJECT-TYPE
    SYNTAX      EtsysCosTxqPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosTxqPortTypeTable."
    INDEX  { etsysCosTxqPortTypeIndex }
    ::= { etsysCosTxqPortTypeTable 1 }

EtsysCosTxqPortTypeEntry ::=
    SEQUENCE {
        etsysCosTxqPortTypeIndex
            Integer32,
        etsysCosTxqPortTypeDescr
            SnmpAdminString,
        etsysCosTxqPortTypeEligiblePorts
            PortList,
        etsysCosTxqPortTypeUnselectedPorts
            PortList,
        etsysCosTxqPortTypeNumberOfQueues
            Integer32,
        etsysCosTxqPortTypeSupportedRateTypes
            EtsysCosRateTypes,
        etsysCosTxqPortTypeNumberOfSlices
            Integer32,
        etsysCosTxqPortTypeQueueAlgorithms
            TxqAlgorithms,
        etsysCosTxqPortTypeQueueArbiterModes
            TxqArbiterModes,
        etsysCosTxqPortTypeMaxDropPrecedence
            Unsigned32,
        etsysCosTxqPortTypeLLQEligibleQueues
            TxQueueList
    }

etsysCosTxqPortTypeIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The port type associated with the unique set of ports sharing
         these capabilities."
    ::= { etsysCosTxqPortTypeEntry 1 }

etsysCosTxqPortTypeDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The textual description that represents this set of dot1dBridge
         ports."
    ::= { etsysCosTxqPortTypeEntry 2 }

etsysCosTxqPortTypeEligiblePorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports belonging (having the same
         capabilities) to this port type."
    ::= { etsysCosTxqPortTypeEntry 3 }

etsysCosTxqPortTypeUnselectedPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports not yet bound to a user
         created row (port group) in the etsysCosTxqPortGroupTable."
    ::= { etsysCosTxqPortTypeEntry 4 }

etsysCosTxqPortTypeNumberOfQueues OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of queues available for configuration by this
         agent on this type of port."
    ::= { etsysCosTxqPortTypeEntry 5 }

etsysCosTxqPortTypeSupportedRateTypes OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The rate types available for use in these settings."
    ::= { etsysCosTxqPortTypeEntry 6 }

etsysCosTxqPortTypeNumberOfSlices OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of slices available for configuration."
    ::= { etsysCosTxqPortTypeEntry 7 }

etsysCosTxqPortTypeQueueAlgorithms OBJECT-TYPE
    SYNTAX      TxqAlgorithms
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The queuing algorithms available for use with these settings."
    ::= { etsysCosTxqPortTypeEntry 8 }

etsysCosTxqPortTypeQueueArbiterModes OBJECT-TYPE
    SYNTAX      TxqArbiterModes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The arbitration modes available for use with these setting."
    ::= { etsysCosTxqPortTypeEntry 9 }

etsysCosTxqPortTypeMaxDropPrecedence OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum drop precedence allowed on this port type."
    ::= { etsysCosTxqPortTypeEntry 10 }

etsysCosTxqPortTypeLLQEligibleQueues OBJECT-TYPE
    SYNTAX      TxQueueList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The queues eligible for low latency queue configuration."
    ::= { etsysCosTxqPortTypeEntry 11 }


-- -------------------------------------------------------------
-- etsysCosTxqUnitTable
-- -------------------------------------------------------------

etsysCosTxqUnitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosTxqUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the rate type, minimum and maximum limits 
         of the port groups and their respective granularity."
    ::= { etsysCosTxq 3 }

etsysCosTxqUnitEntry OBJECT-TYPE
    SYNTAX      EtsysCosTxqUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosTxqUnitTable. Entries in this table indicate the port 
         group boundaries for the type of port specified."
    INDEX  { etsysCosTxqPortTypeIndex,
             etsysCosTxqUnitTypeIndex }
    ::= { etsysCosTxqUnitTable 1 }

EtsysCosTxqUnitEntry ::=
    SEQUENCE {
        etsysCosTxqUnitTypeIndex
            EtsysCosRateTypes,
        etsysCosTxqUnitMaxRate
            Unsigned32,
        etsysCosTxqUnitMinRate
            Unsigned32,
        etsysCosTxqUnitGranularity
            Unsigned32
    }

etsysCosTxqUnitTypeIndex OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unit identifier for this port type. The metric at which 
         the etsysCosTxqUnitMinRate, etsysCosTxqUnitMaxRate and 
         etsysCosTxqUnitGranularity are applied."
    ::= { etsysCosTxqUnitEntry 1 }

etsysCosTxqUnitMaxRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum rate supported at the rate of units specified by
         etsysCosTxqUnitTypeIndex."
    ::= { etsysCosTxqUnitEntry 2 }

etsysCosTxqUnitMinRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The minimum rate supported at the rate of units specified by
         etsysCosTxqUnitTypeIndex."
    ::= { etsysCosTxqUnitEntry 3 }

etsysCosTxqUnitGranularity OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The smallest unit by which a rate can be modified."
    ::= { etsysCosTxqUnitEntry 4 }


-- -------------------------------------------------------------
-- etsysCosTxqPortGroupTable
-- -------------------------------------------------------------

etsysCosTxqMaxPortGroups OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of port groups supported by this agent."
    ::= { etsysCosTxq 4 }

etsysCosTxqNumPortGroups OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of assigned dot1dBridge port groups present in this
         agent.  This number also reflects the port groups with a 
         default system setup indicated by a zero(0) index."
    ::= { etsysCosTxq 5 }

etsysCosTxqPortGroupLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosTxqPortTable was last 
         modified."
    ::= { etsysCosTxq 6 }

etsysCosTxqPortGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysTxqPortCfgTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the user settings for specific types of 
         ports and their matching transmit queue configurations."
    ::= { etsysCosTxq 7 }

etsysCosTxqPortGroupEntry OBJECT-TYPE
    SYNTAX      EtsysTxqPortCfgTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosTxqPortTypeTable. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets." 
    INDEX  { etsysCosTxqPortGroupIndex,
             etsysCosTxqPortTypeIndex}
    ::= { etsysCosTxqPortGroupTable 1 }

EtsysTxqPortCfgTypeEntry ::=
    SEQUENCE {
        etsysCosTxqPortGroupIndex
            Integer32,
        etsysCosTxqPortGroupRowStatus
            RowStatus,
        etsysCosTxqPortGroupList
            PortList,
        etsysCosTxqPortGroupName
            SnmpAdminString
    }

etsysCosTxqPortGroupIndex OBJECT-TYPE
    SYNTAX      Integer32 (0|1..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The user-specified port group for which the settings are 
         defined.  This value MAY have meaning to the user for the
         purposes of identifying groups of dot1dBridge ports with 
         similar function (uplink, user, etc).

         A value of zero(0) has special meaning in that it identifies
         the default port grouping of characteristics present in the 
         agent.  Entries indexed by a zero have a max-access of 
         read-only.  This value will have a system defined maximum of 
         etsysCosTxqMaxPortGroups."
    ::= { etsysCosTxqPortGroupEntry 1 }

etsysCosTxqPortGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows for the dynamic creation and deletion
         of entries within the etsysCosTxqPortTypeTable. Entries within
         this table MUST be considered non-volatile and MUST be
         maintained across entity resets.

         When this object's value is active(1) the specified dot1dBridge
         ports listed in the etsysCosTxqPortGroupList shall be removed 
         from etsysCosTxqPortGroupUnselectedPorts.

         A row in transition to the active(1) state will have its
         port group list validated before activation. A port list that
         cannot be made active MUST result in the row state to become
         notReady(3) and no configuration action will be taken for this
         row. Rows not in the active(1) state SHALL NOT be persisted 
         across entity resets and MUST return the ports from its 
         port group list to the etsysCosTxqPortGroupUnselectedPorts.

         When this object's value is set to destroy(6) from an active(1)
         state, all ports contained in etsysCosTxqPortList shall be 
         returned to the etsysCosTxqPortGroupUnselectedPorts and all 
         entries referencing this row shall be removed as well."
    ::= { etsysCosTxqPortGroupEntry 2 }

etsysCosTxqPortGroupList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports to be assigned to this group. 
         Ports in this list MUST :
           o Be mutually exclusive from other entries in this table
           o Be comprised of the same port type as defined by the
             etsysCosTxqPortTypeIndex."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosTxqPortGroupEntry 3 }

etsysCosTxqPortGroupName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The administratively assigned textual description of this
         port group."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosTxqPortGroupEntry 4 }


-- -------------------------------------------------------------
-- etsysCosTxqPortCfgTable
-- -------------------------------------------------------------

etsysCosTxqPortCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosTxqPortCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the queue values to be used in the 
         entries specified.  Rows in this table are populated based
         on rowCreation in the etsysCosTxqPortGroupTable.  Changes to 
         this table are reflected in the etsysCosTxqPortGroupLastChange
         value."
    ::= { etsysCosTxq 8 }

etsysCosTxqPortCfgEntry OBJECT-TYPE
    SYNTAX      EtsysCosTxqPortCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosTxqPortCfgTable. Details contained within this 
         entry will depict the slice distributions across each queue 
         per dot1dBridge port, as well as determine the arbiter's 
         method for servicing the queues. Entries within this table 
         MUST be considered non-volatile and MUST be maintained across 
         entity resets."
    INDEX  { etsysCosTxqPortGroupIndex,
             etsysCosTxqPortTypeIndex }
    ::= { etsysCosTxqPortCfgTable 1 }

EtsysCosTxqPortCfgEntry ::=
    SEQUENCE {
        etsysCosTxqPortArbMode
            TxqArbiterModes,
        etsysCosTxqPortSliceSetting
            OCTET STRING,
        etsysCosTxqPortEnhancedTransMaxGroups
            Integer32,
        etsysCosTxqPortEnhancedTransGroupId
            OCTET STRING,
        etsysCosTxqPortEnhancedTransBandwidth
            OCTET STRING,
        etsysCosTxqPortEnhancedTransGroupToDcbxTC
            OCTET STRING,
        etsysCosTxqPortEnhancedTransPriorityToDcbxTC
            OCTET STRING
    }

etsysCosTxqPortArbMode OBJECT-TYPE
    SYNTAX      TxqArbiterModes
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
        "The mode in which the transmit queue arbiter services the 
         queues. When in strict-mode, the queues will be services
         by numerical priority from lowest to highest. Lower priority 
         queues will not be services until the current queue is drained.
         When set to weightedFairQ, the number of slices in a 
         particular queue determines the frequency of servicing.
         A slice configuration of 00-00...100 will set the port to
         strict-mode. When in enhancedTransmission mode the
         non-enhanced transmission queues are serviced first using
         low latency or strict priority. The remaining bandwidth 
         is then allocated to the enhanced transmission queues using 
         weightedFairQ."
    ::= { etsysCosTxqPortCfgEntry 1 }

etsysCosTxqPortSliceSetting OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..256))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is an octet string in which the number of octets 
         corresponds to the number of transmit queues for each 
         dot1dBridge port.  The value of the first octet represents the
         number of 'slices' of transmit resources to allocate to 
         Queue 0, the second octet represents the number for Queue 1, 
         and so forth. The sum of all the octets in the octet string 
         must add up to the total number of slices available for that 
         port type as defined in etsysCosTxqNumberOfSlices.

         For example, on a port having 4 transmit queues and where 
         transmit resources are divided into 16 slices, writing an 
         octet string of {0x00, 0x04, 0x04, 0x08} would have the 
         following effect:

           At least 50% of the frames transmitted are from Queue 3
           At least 25% of the frames transmitted are from Queue 2
           At least 25% of the frames transmitted are from Queue 1
           No frames will be transmitted from Queue 0 until Queues 1, 
           2 and 3 are empty.

         This value MAY be superseded by etsysCosTxqPortEnhancedTransGroupId
         when the arb mode is enhancedTransmission."
    ::= { etsysCosTxqPortCfgEntry 2 }

etsysCosTxqPortEnhancedTransMaxGroups OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The maximum number of Enhanced Transmission Groups supported
         for this port type."
    ::= { etsysCosTxqPortCfgEntry 3 }

etsysCosTxqPortEnhancedTransGroupId   OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..256))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is an octet string in which the number of
         octets corresponds to the number of traffic class
         queues for each dot1dBridgePort. The value of the first
         octet represents the Enhanced Transmission Group id
         for the first traffic class group, the second octet
         represents the Enhanced Transmission Group id for the
         second traffic class and so forth.

         Setting the queue to a value between 1 to
         etsysCosTxqPortEnhancedTransMaxGroups will enable the
         queue for Enhanced Transmission Selection. A value of
         0 will disable the queue for Enhanced Transmission
         Selection. All other values are not accepted.

         This value will supersede etsysCosTxqPortSliceSetting
         when the arb mode is enhancedTransmission."
    ::= { etsysCosTxqPortCfgEntry 4 }

etsysCosTxqPortEnhancedTransBandwidth OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(1..256))
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object is an octet string in which the number of
         octets is equal to etsysCosTxqPortEnhancedTransMaxGroups.
         The value of the first octet represents the percent
         bandwidth to be allocated to the first Enhanced Transmission
         Selection group, the second octet represents the bandwidth
         for the second Enhanced Transmission Selection group and
         so forth.  The sum of all Enhanced Transmission Selection
         Groups must be 100."
    ::= { etsysCosTxqPortCfgEntry 5 }

etsysCosTxqPortEnhancedTransGroupToDcbxTC OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..256))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is an octet string in which the number of octets
         is equal to etsysCosTxqPortEnhancedTransMaxGroups.  The value
         of the first octet represents the DCB Enhanced Transmission
         Selection Traffic Class number for the first group. The second
         octet represents the DCB Enhanced Transmission Selection
         Traffic Class number for the second group and so forth.

         DCB Enhanced Transmission Selection Traffic Classes correspond
         to a value of 0 to 7 which is defined by 802.1D. A value of
         255 means the group is not part of Enhanced Transmission."
    ::= { etsysCosTxqPortCfgEntry 6 }

etsysCosTxqPortEnhancedTransPriorityToDcbxTC OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is an octet string that maps dot1d priorities to
         DCB Enhanced Transmission Selection Traffic Classes. The first
         octet represents the DCB Traffic class for priority 0. The second
         octet represents the DCB Traffic class for priority 1 and so
         forth."
    ::= { etsysCosTxqPortCfgEntry 7 }


-- -------------------------------------------------------------
-- etsysCosTxqResourceTable
-- -------------------------------------------------------------

etsysCosTxqResourceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosTxqResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing rate, units and queuing algorithm to be
         used in the entries specified."
    ::= { etsysCosTxq 9 }

etsysCosTxqResourceEntry OBJECT-TYPE
    SYNTAX      EtsysCosTxqResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosTxqResourceTable. These entries contain the specific
         attributes of transmission rates (traffic shaping) and 
         dropping styles to be applied to dot1dBridge ports. Entries 
         within this table MUST be considered non-volatile and MUST be
         maintained across entity resets."
    INDEX  { etsysCosTxqPortGroupIndex,
             etsysCosTxqPortTypeIndex, 
             etsysCosTxqResourceQueueNum }
    ::= { etsysCosTxqResourceTable 1 }

EtsysCosTxqResourceEntry ::=
    SEQUENCE {
        etsysCosTxqResourceQueueNum
            Integer32,
        etsysCosTxqPortQUnit
            EtsysCosRateTypes,
        etsysCosTxqPortQRate
            Integer32,
        etsysCosTxqPortQAlgorithm
            TxqAlgorithms,
        etsysCosTxqPortQLLQenable
            EnabledStatus,
        etsysCosTxqPortQMinRate
            Integer32
    }
    
etsysCosTxqResourceQueueNum OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The queue number associated with this entry." 
    ::= { etsysCosTxqResourceEntry 1 }
    
etsysCosTxqPortQUnit OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies the unit size for the etsysCosTxqPortRate.
         Values MUST NOT exceed the capacity of the 
         etsysCosTxqPortType they are associated with."
    ::= { etsysCosTxqResourceEntry 2 }

etsysCosTxqPortQRate OBJECT-TYPE
    SYNTAX      Integer32 (0|1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies the number of units used in this queue 
         configuration. The value (0) shall carry special meaning 
         that indicates the settings MUST NOT be applied to the 
         queue."
    DEFVAL { 0 }
    ::= { etsysCosTxqResourceEntry 3 }

etsysCosTxqPortQAlgorithm OBJECT-TYPE
    SYNTAX     TxqAlgorithms
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Determines the rules by which discarding is applied."
    ::= { etsysCosTxqResourceEntry 4 }

etsysCosTxqPortQLLQenable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object represents the requested use of low latency
         queues for this dot1dBridge port. This object is REQUIRED to 
         fail set attempts for unsupported hardware."
    ::= { etsysCosTxqResourceEntry 5 }

etsysCosTxqPortQMinRate OBJECT-TYPE
    SYNTAX      Integer32 (0|1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies the minimum number of units used in this
         queue configuration. The value (0) shall carry special
         meaning that indicates the settings MUST NOT be applied
         to the queue."
    DEFVAL { 0 }
    ::= { etsysCosTxqResourceEntry 6 }

-- -------------------------------------------------------------
-- etsysCosTxqReferenceMappingTable
-- -------------------------------------------------------------

etsysCosTxqReferenceMappingMaxReference OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of etsysCosTxqReferences allowed in the 
         etsysCosTxqMappingTable."
    ::= { etsysCosTxq 10 }

etsysCosTxqReferenceMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosTxqReferenceMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "A table containing the user defined mappings of the TxQ
         refences found in the etsysCosTable to physical transmit queues
         associated with the specified port-group."
    ::= { etsysCosTxq 11 }

etsysCosTxqReferenceMappingEntry OBJECT-TYPE
    SYNTAX      EtsysCosTxqReferenceMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosTxqReferenceMappingTable. Entries within this table 
         MUST be considered non-volatile and MUST be maintained across 
         entity resets."
    INDEX  { etsysCosTxqPortGroupIndex,
             etsysCosTxqPortTypeIndex,
             etsysCosTxqReference}
    ::= { etsysCosTxqReferenceMappingTable 1 }

EtsysCosTxqReferenceMappingEntry ::=
    SEQUENCE {
        etsysCosTxqResourceQueueNumber
            Integer32
    }

etsysCosTxqResourceQueueNumber OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The queue number to be bound to this reference." 
    ::= { etsysCosTxqReferenceMappingEntry 1 }


-- -------------------------------------------------------------
-- etsysCosTxqDropProfiles Table
-- -------------------------------------------------------------

etsysCosTxqDropProfilesMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of entries allowed in the
         etsysCosDropProfiles Table."
    ::= { etsysCosTxq 12 }

etsysCosTxqDropProfilesNumEntries OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries in the etsysCosQueueProfiles
         Table."
    ::= { etsysCosTxq 13 }

etsysCosTxqDropProfilesLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosQueueProfiles Table was last 
         modified."
    ::= { etsysCosTxq 14 }

etsysCosTxqDropProfilesTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosTxqDropProfilesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the queue profile configurations."
    ::= { etsysCosTxq 15 }

etsysCosTxqDropProfilesEntry OBJECT-TYPE
    SYNTAX      EtsysCosTxqDropProfilesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The minimum and maximum queue depth, maximum drop probability 
         and queue depth at max drop probability for the queue 
         specified.  These entries represent the currently configured 
         settings for this agent. Entries indexed with (0) are default 
         system entries. Entries within this table MUST be considered
         non-volatile and MUST be maintained across entity resets."
    INDEX { etsysCosTxqDropSettingIndex }
    ::= { etsysCosTxqDropProfilesTable 1 }

EtsysCosTxqDropProfilesEntry ::=
    SEQUENCE {  etsysCosTxqDropSettingIndex
                    Unsigned32,
                etsysCosTxqDropProfilesRowStatus
                    RowStatus,
                etsysCosTxqDropProfilesMin
                    Integer32,
                etsysCosTxqDropProfilesMax
                    Integer32,
                etsysCosTxqDropProfilesMaxDropProb
                    Integer32,
                etsysCosTxqDropProfilesQueueDepthAtMaxProb
                    Integer32
    }

etsysCosTxqDropSettingIndex OBJECT-TYPE
    SYNTAX      Unsigned32 -- (0..etsysCosTxqDropProfilesMaxEntries)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique identifier for this queue setting. Identifiers with
         an index of 0 MUST be read-only and depict the system default
         settings."
    ::= { etsysCosTxqDropProfilesEntry 1 }

etsysCosTxqDropProfilesRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows for the dynamic creation and deletion
         of entries within the etsysCosTxqDropProfilesTable. Entries 
         within this table MUST be considered non-volatile and MUST be
         maintained across entity resets."
    ::= { etsysCosTxqDropProfilesEntry 2 }

etsysCosTxqDropProfilesMin OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The minimum percentage of the queue depth, above which frames 
         will dropped at the drop probability rate."
    DEFVAL { 0 }
    ::= { etsysCosTxqDropProfilesEntry 3 }

etsysCosTxqDropProfilesMax OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum percentage of the queue depth, above which all
         frames will be dropped. This object's value MUST be greater
         than or equal to the etsysCosTxqDropProfilesMin."
    DEFVAL { 100 }
    ::= { etsysCosTxqDropProfilesEntry 4 }

etsysCosTxqDropProfilesMaxDropProb OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The drop probability associated with this setting by 
         percentage. This number represents the percentage of traffic 
         that will be dropped once the minimum rate has been exceeded."
    DEFVAL { 0 }
    ::= { etsysCosTxqDropProfilesEntry 5 }

etsysCosTxqDropProfilesQueueDepthAtMaxProb OBJECT-TYPE
    SYNTAX      Integer32 (0..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The drop probability percentage slope which defines how 
         aggressively packets are discarded as the queue fills."
    DEFVAL { 100 }
    ::= { etsysCosTxqDropProfilesEntry 6 }


-- -------------------------------------------------------------
-- etsysCosTxqDropPrecedence
-- -------------------------------------------------------------

etsysCosTxqDropPrecedenceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosTxqDropPrecedenceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the drop precedence configurations."
    ::= { etsysCosTxq 16 }

etsysCosTxqDropPrecedenceEntry OBJECT-TYPE
    SYNTAX      EtsysCosTxqDropPrecedenceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The drop precedence definitions for the queue specified."
    INDEX { etsysCosTxqPortGroupIndex,
            etsysCosTxqPortTypeIndex,
            etsysCosTxqResourceQueueNum,
            etsysCosTableDropPrecedence}
    ::= { etsysCosTxqDropPrecedenceTable 1 }

EtsysCosTxqDropPrecedenceEntry ::=
    SEQUENCE {
                etsysCosTableDropPrecedence
                    Unsigned32,
                etsysCosTxqDropProfileQueueCfgID
                    Integer32
    }

etsysCosTableDropPrecedence OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The corresponding etsysCosDropPrecedence from the
         etsysCosTable this entry refers to."
    ::= { etsysCosTxqDropPrecedenceEntry 1 }

etsysCosTxqDropProfileQueueCfgID OBJECT-TYPE
    SYNTAX      Integer32 -- (0 .. etsysCosTxqDropProfilesMaxEntries)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The etsysCosTxqDropProfilesEntry that describes the 
         configuration for this entry.  If this value references
         a non-existent row in the etsysCosTxqDropPrecedenceTable the 
         device will behave as if the row existed and was populated with
         default parameters."
    ::= { etsysCosTxqDropPrecedenceEntry 2 }


-- -------------------------------------------------------------
-- -------------------------------------------------------------
-- etsysCosIrl group
-- -------------------------------------------------------------
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- etsysCosIrlPortTypeTable
-- -------------------------------------------------------------

etsysCosIrlPortTypeMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The actual number of distinctly unique (as defined by
         the set of shared inbound RateLimiting capabilities)
         port types available for configuration on this agent."
    ::= { etsysCosIrl 1 }

etsysCosIrlPortTypeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosIrlPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table defining the distinctly unique IRL 
         characteristics of a group of ports."
    ::= { etsysCosIrl 2 }

etsysCosIrlPortTypeEntry OBJECT-TYPE
    SYNTAX      EtsysCosIrlPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosIrlPortTypeTable."
    INDEX  { etsysCosIrlPortTypeIndex }
    ::= { etsysCosIrlPortTypeTable 1 }

EtsysCosIrlPortTypeEntry ::=
    SEQUENCE {
        etsysCosIrlPortTypeIndex
            Integer32,
        etsysCosIrlPortTypeDescr
            SnmpAdminString,
        etsysCosIrlPortTypeEligiblePorts
            PortList,
        etsysCosIrlPortTypeUnselectedPorts
            PortList,
        etsysCosIrlPortTypeNumberOfIRLs
            Integer32,
        etsysCosIrlPortTypeSupportedRateTypes
            EtsysCosRateTypes,
        etsysCosIrlPortTypeCapabilities
            EtsysCosRlCapabilities
    }

etsysCosIrlPortTypeIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The port type associated with the unique set of ports sharing
         these capabilities."
    ::= { etsysCosIrlPortTypeEntry 1 }

etsysCosIrlPortTypeDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The textual description that represents this set of dot1dBridge
         ports."
    ::= { etsysCosIrlPortTypeEntry 2 }

etsysCosIrlPortTypeEligiblePorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports belonging (having the same
         capabilities) to this port type."
    ::= { etsysCosIrlPortTypeEntry 3 }

etsysCosIrlPortTypeUnselectedPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports not yet bound to a user
         created row (port group) in the etsysCosIrlPortGroupTable."
    ::= { etsysCosIrlPortTypeEntry 4 }

etsysCosIrlPortTypeNumberOfIRLs OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of inbound rate limiters supported by 
         this agent on this type of port."
    ::= { etsysCosIrlPortTypeEntry 5 }

etsysCosIrlPortTypeSupportedRateTypes OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The rate types available on this type of port."
    ::= { etsysCosIrlPortTypeEntry 6 }

etsysCosIrlPortTypeCapabilities OBJECT-TYPE
    SYNTAX      EtsysCosRlCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The EtsysCosRlCapabilities available on this type of port."
    ::= { etsysCosIrlPortTypeEntry 7 }


-- -------------------------------------------------------------
-- etsysCosIrlUnitTable
-- -------------------------------------------------------------

etsysCosIrlUnitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosIrlUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the rate type, minimum and maximum limits 
         of the port groups and their respective granularity."
    ::= { etsysCosIrl 3 }

etsysCosIrlUnitEntry OBJECT-TYPE
    SYNTAX      EtsysCosIrlUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosIrlUnitTable. Entries in this table indicate the port 
         group boundaries for the type of port specified."
    INDEX  { etsysCosIrlPortTypeIndex,
             etsysCosIrlUnitTypeIndex }
    ::= { etsysCosIrlUnitTable 1 }

EtsysCosIrlUnitEntry ::=
    SEQUENCE {
        etsysCosIrlUnitTypeIndex
            EtsysCosRateTypes,
        etsysCosIrlUnitMaxRate
            Unsigned32,
        etsysCosIrlUnitMinRate
            Unsigned32,
        etsysCosIrlUnitGranularity
            Unsigned32
    }

etsysCosIrlUnitTypeIndex OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unit identifier for this port type. The metric at which 
         the etsysCosIrlUnitMinRate, etsysCosIrlUnitMaxRate and 
         etsysCosIrlUnitGranularity are applied."
    ::= { etsysCosIrlUnitEntry 1 }

etsysCosIrlUnitMaxRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum rate supported at the rate of units specified by
         etsysCosIrlUnitType."
    ::= { etsysCosIrlUnitEntry 2 }

etsysCosIrlUnitMinRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The minimum rate supported at the rate of units specified by
         etsysCosIrlUnitType."
    ::= { etsysCosIrlUnitEntry 3 }

etsysCosIrlUnitGranularity OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The smallest unit by which a rate can be modified."
    ::= { etsysCosIrlUnitEntry 4 }


-- -------------------------------------------------------------
-- etsysCosIrlPortGroupTable
-- -------------------------------------------------------------

etsysCosIrlPortGroupMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of port groups supported by this agent."
    ::= { etsysCosIrl 4 }

etsysCosIrlPortGroupNumEntries OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of assigned dot1dBridge port groups present in this
         agent.  This number also reflects the port groups with a 
         default system setup indicated by a zero(0) index."
    ::= { etsysCosIrl 5 }

etsysCosIrlPortGroupLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosIrlPortTypeTable was last 
         modified."
    ::= { etsysCosIrl 6 }

etsysCosIrlPortGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosIrlPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the settings for specific types of 
         dot1dBridge ports and their matching inbound rate limiting 
         configurations."
    ::= { etsysCosIrl 7 }

etsysCosIrlPortGroupEntry OBJECT-TYPE
    SYNTAX      EtsysCosIrlPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosIrlPortTypeTable. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets." 
    INDEX  { etsysCosIrlPortGroupIndex,
             etsysCosIrlPortTypeIndex }
    ::= { etsysCosIrlPortGroupTable 1 }

EtsysCosIrlPortGroupEntry ::=
    SEQUENCE {
        etsysCosIrlPortGroupIndex
            Integer32,
        etsysCosIrlPortGroupRowStatus
            RowStatus,
        etsysCosIrlPortGroupList
            PortList,
        etsysCosIrlPortGroupName
            SnmpAdminString
    }

etsysCosIrlPortGroupIndex OBJECT-TYPE
    SYNTAX      Integer32 (0|1..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The user-specified port group for which the settings are 
         defined.  This value MAY have meaning to the user for the
         purposes of identifying groups of dot1dBridge ports with 
         similar function (uplink, user, etc).

         A value of zero(0) has special meaning in that it identifies
         the default port grouping of characteristics present in the 
         agent.  Entries indexed by a zero have a max-access of 
         read-only.  This value will have a system defined maximum of 
         etsysCosIrlPortGroupMaxEntries."
    ::= { etsysCosIrlPortGroupEntry 1 }

etsysCosIrlPortGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows for the dynamic creation and deletion
         of entries within the etsysCosIrlPortGroupTable. Entries within
         this table MUST be considered non-volatile and MUST be
         maintained across entity resets.

         When this object's value is active(1) the specified dot1dBridge
         ports listed in the PortGroupList shall be removed from 
         UnselectedPorts.

         A row in transition to the active(1) state will have its
         port group list validated before activation. A port list that
         cannot be made active MUST result in the row state to become
         notReady(3) and no configuration action will be taken for this
         row. Rows not in the active(1) state SHALL NOT be persisted 
         across entity resets and MUST return the ports from its 
         port group list to the etsysCosIrlPortTypeUnselectedPorts.

         When this object's value is set to destroy(6) from an active(1)
         state, all dot1dBridge ports contained in 
         etsysCosIrlPortGroupList shall be returned to the 
         etsysCosIrlPortTypeUnselectedPorts and all entries referencing
         this row shall be removed as well."

    ::= { etsysCosIrlPortGroupEntry 2 }

etsysCosIrlPortGroupList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports to be assigned to this group. 
         Ports in this list MUST :
           o Be mutually exclusive from other entries in this table
           o Be comprised of the same port type as defined by the
             etsysCosIrlPortTypeIndex."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosIrlPortGroupEntry 3 }

etsysCosIrlPortGroupName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administratively assigned textual description of this
         port group."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosIrlPortGroupEntry 4 }


-- -------------------------------------------------------------
-- etsysCosIrlPortCfgTable
-- -------------------------------------------------------------

etsysCosIrlPortCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosIrlPortCfg
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the inbound rate limiting configurations
         to be used in the entries specified.  Rows in this table are 
         populated based on rowCreation in the etsysCosIrlPortGroupTable.
         Changes to this table are reflected in the 
         etsysCosTxqPortGroupLastChange value."
    ::= { etsysCosIrl 8 }

etsysCosIrlPortCfgEntry OBJECT-TYPE
    SYNTAX      EtsysCosIrlPortCfg
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosIrlPortCfgTable. Details contained within this entry 
         will depict the inbound rate limiter's reception rate and 
         parent rate limiter. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets."
    INDEX  { etsysCosIrlPortGroupIndex, 
             etsysCosIrlPortTypeIndex }
    ::= { etsysCosIrlPortCfgTable 1 }

EtsysCosIrlPortCfg ::=
    SEQUENCE {
        etsysCosIrlPortCfgFloodLimiter
            Integer32
    }

etsysCosIrlPortCfgFloodLimiter OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..65535)
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "This object will represent the etsysCosIrlResourceNum 
         to be used to limit flooded traffic."
    ::= { etsysCosIrlPortCfgEntry 2 }


-- -------------------------------------------------------------
-- etsysCosIrlResourceTable
-- -------------------------------------------------------------

etsysCosIrlResourceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosIrlResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the inbound rate limiting configurations
         to be used in the entries specified."
    ::= { etsysCosIrl 9 }

etsysCosIrlResourceEntry OBJECT-TYPE
    SYNTAX      EtsysCosIrlResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosIrlResourceTable. These entries contain the specific
         attributes of policing rates (traffic clipping) and 
         parent rate limiter. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets."
    INDEX  { etsysCosIrlPortGroupIndex, 
             etsysCosIrlPortTypeIndex, 
             etsysCosIrlResourceIrlNum }
    ::= { etsysCosIrlResourceTable 1 }

EtsysCosIrlResourceEntry ::=
    SEQUENCE {
        etsysCosIrlResourceIrlNum
            Unsigned32,
        etsysCosIrlResourceUnits
            EtsysCosRateTypes,
        etsysCosIrlResourceRate
            Integer32,
        etsysCosIrlResourceParentIrl
            Integer32,
        etsysCosIrlResourceType
            EtsysRateLimitingType,
        etsysCosIrlResourceActionCosIndex
            Integer32,
        etsysCosIrlResourceAction
            EtsysViolationAction,
        etsysCosIrlResourceViolationPortList
            PortList,
        etsysCosIrlResourceClearCounters
            TruthValue
    }

etsysCosIrlResourceIrlNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The inbound rate limiter number associated with this entry."
    ::= { etsysCosIrlResourceEntry 1 }

etsysCosIrlResourceUnits OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies the unit size for the etsysCosIrlPortRate.
         Values MUST NOT exceed the capacity of the 
         etsysCosIrlPortType they are associated with."
    DEFVAL {{ pps }}
    ::= { etsysCosIrlResourceEntry 2 }

etsysCosIrlResourceRate OBJECT-TYPE
    SYNTAX      Integer32 (0|1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "Identifies the number of units above which packets will 
         considered in violation. This object is read-only for limiters
         of type count(5). The value (0) shall carry special meaning 
         in this case of unset. Rate limiters identified as having a 
         value of (0) shall not have this settings applied to the 
         limiter."
    DEFVAL { 0 }
    ::= { etsysCosIrlResourceEntry 3 }

etsysCosIrlResourceParentIrl OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to a positive value indicates the 
         etsysCosIrlResourceIrlNum to be used in conjunction with 
         this setting. A value of (-1) indicates the parent Irl is
         not configured."
    DEFVAL { -1 }
    ::= { etsysCosIrlResourceEntry 4 }

etsysCosIrlResourceType OBJECT-TYPE
    SYNTAX      EtsysRateLimitingType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The characteristics applied to this rate limiter. When 
         chaining limiters is used, the AND / OR attribute denotes the 
         limiter logic in handling violation. For example, option 
         rePrioritizeAnd(2) requires that the current limiter AND it's 
         parent be violated for the packet to be reprioritized. The 
         rePrioritizeOr(3) option only needs one OR the other to be 
         violated for the action to be taken."
    ::= { etsysCosIrlResourceEntry 5 }

etsysCosIrlResourceActionCosIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object will represent the CoS to be applied to packets
         in violation of the limits set when the etsysCosIrlResourceType
         is set to one of the rePrioritize types."
    DEFVAL { -1 }
    ::= { etsysCosIrlResourceEntry 6 }

etsysCosIrlResourceAction OBJECT-TYPE
    SYNTAX      EtsysViolationAction
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object allows syslog, SNMP traps, or disabling actions
         to be taken limiters are first exceeded."
    ::= { etsysCosIrlResourceEntry 7 }

etsysCosIrlResourceViolationPortList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The dot1dBridge ports this limiter has been violated on.
         Writing this object will clear the dot1dBridge ports given
         which have a corresponding bit of zero (0) in the PortList."
    ::= { etsysCosIrlResourceEntry 8 }

etsysCosIrlResourceClearCounters OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "This object shall always read false(2). When set to true(1) 
         this object clears the counter associated with this entry, if 
         the associated entry is a limiter of type count(5)."
    ::= { etsysCosIrlResourceEntry 9 }


-- -------------------------------------------------------------
-- etsysCosIrlReferenceMappingTable
-- -------------------------------------------------------------

etsysCosIrlReferenceMappingMaxReference OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of etsysCosIrlReferences allowed in the
         etsysCosIrlMappingTable."
    ::= { etsysCosIrl 10 }

etsysCosIrlReferenceMappingLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosIrlReferenceMappingTable was 
         last modified."
    ::= { etsysCosIrl 11 }

etsysCosIrlReferenceMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosIrlReferenceMap
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the user defined mappings of the 
         inbound-rate-limiter-refences found in the etsysCosTable to 
         actual inbound-rate-limiters associated with the specified 
         port-group."
    ::= { etsysCosIrl 12 }
    
etsysCosIrlReferenceMappingEntry OBJECT-TYPE
    SYNTAX      EtsysCosIrlReferenceMap
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosIrlReferenceMappingTable. Entries within this table 
         MUST be considered non-volatile and MUST be maintained across 
         entity resets."
    INDEX  { etsysCosIrlPortGroupIndex,
             etsysCosIrlPortTypeIndex, 
             etsysCosIrlReference }
    ::= { etsysCosIrlReferenceMappingTable 1 }

EtsysCosIrlReferenceMap ::=
    SEQUENCE {
        etsysCosIrlResourceIrlNumber
            Integer32
    }

etsysCosIrlResourceIrlNumber OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..32767)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The inbound rate limiter bond to this reference."
    ::= { etsysCosIrlReferenceMappingEntry 1 }


-- -------------------------------------------------------------
-- etsysCosIrlViolationTable
-- -------------------------------------------------------------

etsysCosIrlViolationClearTable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object SHALL always read false. Setting this object to 
         true removes all existing entries from the
         etsysCosIrlViolationTable."
    ::= { etsysCosIrl 13 }

etsysCosIrlViolationLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosIrlViolationTable was last 
         modified."
    ::= { etsysCosIrl 14 }

etsysCosIrlDisabledPortsList OBJECT-TYPE
    SYNTAX      PortList 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports disabled as a result of limiting 
         violation.  A set to this list will clear the violation status
         of any port which has a corresponding clear bit in the list."
    ::= { etsysCosIrl 15 }

etsysCosIrlViolationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosIrlViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the list of entries of all dot1dBridge ports
         that have detected violations of the limiters current 
         settings."
    ::= { etsysCosIrl 16 }

etsysCosIrlViolationEntry OBJECT-TYPE
    SYNTAX      EtsysCosIrlViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosIrlViolationTable."
    INDEX  { etsysCosIrlPortIndex,
             etsysCosIrlResourceIrlNumber }
    ::= { etsysCosIrlViolationTable 1 }

EtsysCosIrlViolationEntry ::=
    SEQUENCE {
        etsysCosIrlPortIndex
            Integer32,
        etsysCosIrlViolation
            TruthValue,
        etsysCosIrlCounter
            Counter64,
        etsysCosIrlResetFlags
            EtsysRateLimitResetBits
    }

etsysCosIrlPortIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The dot1dBridge port on which this violation occurred."
    ::= { etsysCosIrlViolationEntry 1 }

etsysCosIrlViolation OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the violation status for this limiter.
         If this object reads true(1) the action associated with this 
         Irl have been taken."
    ::= { etsysCosIrlViolationEntry 2 }

etsysCosIrlCounter OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "In order for this object to have meaningful information the 
         assigned limiter must be set up as a counter type limiter.
         This value shall then represent the number of configured units
         the limiter has recorded. If the associated limiter 
         is of type pps(1) then the object represents the packets 
         counted, otherwise it represents the octets counted."
    ::= { etsysCosIrlViolationEntry 3 }

etsysCosIrlResetFlags OBJECT-TYPE
    SYNTAX      EtsysRateLimitResetBits
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value shall always read as 0. This object clears the 
         statistics gathering portion of this entry. If bit 0 is set, 
         the etsysCosIrlViolation TruthValue will be reset to false. If
         bit 1 is set, the etsysCosIrlUnitCounter will be reset to zero.
         Both bits set shall clear both properties."
    ::= { etsysCosIrlViolationEntry 4 }


-- -------------------------------------------------------------
-- -------------------------------------------------------------
-- etsysCosOrl group
-- -------------------------------------------------------------
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- etsysCosOrlPortTypeTable
-- -------------------------------------------------------------

etsysCosOrlPortTypeMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The actual number of distinctly unique (as defined by
         the set of shared outbound RateLimiting capabilities)
         port types available for configuration on this agent."
    ::= { etsysCosOrl 1 }

etsysCosOrlPortTypeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosOrlPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table defining the distinctly unique IRL 
         characteristics of a group of ports."
    ::= { etsysCosOrl 2 }

etsysCosOrlPortTypeEntry OBJECT-TYPE
    SYNTAX      EtsysCosOrlPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosOrlPortTypeTable."
    INDEX  { etsysCosOrlPortTypeIndex }
    ::= { etsysCosOrlPortTypeTable 1 }

EtsysCosOrlPortTypeEntry ::=
    SEQUENCE {
        etsysCosOrlPortTypeIndex
            Integer32,
        etsysCosOrlPortTypeDescr
            SnmpAdminString,
        etsysCosOrlPortTypeEligiblePorts
            PortList,
        etsysCosOrlPortTypeUnselectedPorts
            PortList,
        etsysCosOrlPortTypeNumberOfORLs
            Integer32,
        etsysCosOrlPortTypeSupportedRateTypes
            EtsysCosRateTypes,
        etsysCosOrlPortTypeCapabilities
            EtsysCosRlCapabilities
    }

etsysCosOrlPortTypeIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The port type associated with the unique set of ports sharing
         these capabilities."
    ::= { etsysCosOrlPortTypeEntry 1 }

etsysCosOrlPortTypeDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The textual description that represents this set of dot1dBridge
         ports."
    ::= { etsysCosOrlPortTypeEntry 2 }

etsysCosOrlPortTypeEligiblePorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports belonging (having the same
         capabilities) to this port type."
    ::= { etsysCosOrlPortTypeEntry 3 }

etsysCosOrlPortTypeUnselectedPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports not yet bound to a user
         created row (port group) in the etsysCosOrlPortGroupTable."
    ::= { etsysCosOrlPortTypeEntry 4 }

etsysCosOrlPortTypeNumberOfORLs OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of outbound rate limiters supported by 
         this agent on this type of port."
    ::= { etsysCosOrlPortTypeEntry 5 }

etsysCosOrlPortTypeSupportedRateTypes OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The rate types available on this type of port."
    ::= { etsysCosOrlPortTypeEntry 6 }

etsysCosOrlPortTypeCapabilities OBJECT-TYPE
    SYNTAX      EtsysCosRlCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The EtsysCosRlCapabilities available on this type of port."
    ::= { etsysCosOrlPortTypeEntry 7 }


-- -------------------------------------------------------------
-- etsysCosOrlUnitTable
-- -------------------------------------------------------------

etsysCosOrlUnitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosOrlUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the rate type, minimum and maximum limits 
         of the port groups and their respective granularity."
    ::= { etsysCosOrl 3 }

etsysCosOrlUnitEntry OBJECT-TYPE
    SYNTAX      EtsysCosOrlUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosOrlUnitTable. Entries in this table indicate the port 
         group boundaries for the type of port specified."
    INDEX  { etsysCosOrlPortTypeIndex,
             etsysCosOrlUnitTypeIndex }
    ::= { etsysCosOrlUnitTable 1 }

EtsysCosOrlUnitEntry ::=
    SEQUENCE {
        etsysCosOrlUnitTypeIndex
            EtsysCosRateTypes,
        etsysCosOrlUnitMaxRate
            Unsigned32,
        etsysCosOrlUnitMinRate
            Unsigned32,
        etsysCosOrlUnitGranularity
            Unsigned32
    }

etsysCosOrlUnitTypeIndex OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unit identifier for this port type. The metric at which 
         the etsysCosOrlUnitMinRate, etsysCosOrlUnitMaxRate and 
         etsysCosOrlUnitGranularity are applied."
    ::= { etsysCosOrlUnitEntry 1 }

etsysCosOrlUnitMaxRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum rate supported at the rate of units specified by
         etsysCosOrlUnitType."
    ::= { etsysCosOrlUnitEntry 2 }

etsysCosOrlUnitMinRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The minimum rate supported at the rate of units specified by
         etsysCosOrlUnitType."
    ::= { etsysCosOrlUnitEntry 3 }

etsysCosOrlUnitGranularity OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The smallest unit by which a rate can be modified."
    ::= { etsysCosOrlUnitEntry 4 }


-- -------------------------------------------------------------
-- etsysCosOrlPortGroupTable
-- -------------------------------------------------------------

etsysCosOrlPortGroupMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of port groups supported by this agent."
    ::= { etsysCosOrl 4 }

etsysCosOrlPortGroupNumEntries OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of assigned dot1dBridge port groups present in this
         agent.  This number also reflects the port groups with a 
         default system setup indicated by a zero(0) index."
    ::= { etsysCosOrl 5 }

etsysCosOrlPortGroupLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosOrlPortTypeTable was last 
         modified."
    ::= { etsysCosOrl 6 }

etsysCosOrlPortGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosOrlPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the settings for specific types of 
         dot1dBridge ports and their matching outbound rate limiting 
         configurations."
    ::= { etsysCosOrl 7 }

etsysCosOrlPortGroupEntry OBJECT-TYPE
    SYNTAX      EtsysCosOrlPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosOrlPortTypeTable. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets." 
    INDEX  { etsysCosOrlPortGroupIndex,
             etsysCosOrlPortTypeIndex }
    ::= { etsysCosOrlPortGroupTable 1 }

EtsysCosOrlPortGroupEntry ::=
    SEQUENCE {
        etsysCosOrlPortGroupIndex
            Integer32,
        etsysCosOrlPortGroupRowStatus
            RowStatus,
        etsysCosOrlPortGroupList
            PortList,
        etsysCosOrlPortGroupName
            SnmpAdminString
    }

etsysCosOrlPortGroupIndex OBJECT-TYPE
    SYNTAX      Integer32 (0|1..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The user-specified port group for which the settings are 
         defined.  This value MAY have meaning to the user for the
         purposes of identifying groups of dot1dBridge ports with 
         similar function (uplink, user, etc).

         A value of zero(0) has special meaning in that it identifies
         the default port grouping of characteristics present in the 
         agent.  Entries indexed by a zero have a max-access of 
         read-only.  This value will have a system defined maximum of 
         etsysCosOrlPortGroupMaxEntries."
    ::= { etsysCosOrlPortGroupEntry 1 }

etsysCosOrlPortGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows for the dynamic creation and deletion
         of entries within the etsysCosOrlPortGroupTable. Entries within
         this table MUST be considered non-volatile and MUST be
         maintained across entity resets.

         When this object's value is active(1) the specified dot1dBridge
         ports listed in the PortGroupList shall be removed from 
         UnselectedPorts.

         A row in transition to the active(1) state will have its
         port group list validated before activation. A port list that
         cannot be made active MUST result in the row state to become
         notReady(3) and no configuration action will be taken for this
         row. Rows not in the active(1) state SHALL NOT be persisted 
         across entity resets and MUST return the ports from its 
         port group list to the etsysCosOrlPortTypeUnselectedPorts.

         When this object's value is set to destroy(6) from an active(1)
         state, all dot1dBridge ports contained in 
         etsysCosOrlPortGroupList shall be returned to the 
         etsysCosOrlPortTypeUnselectedPorts and all entries referencing
         this row shall be removed as well."

    ::= { etsysCosOrlPortGroupEntry 2 }

etsysCosOrlPortGroupList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports to be assigned to this group. 
         Ports in this list MUST :
           o Be mutually exclusive from other entries in this table
           o Be comprised of the same port type as defined by the
             etsysCosOrlPortTypeIndex."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosOrlPortGroupEntry 3 }

etsysCosOrlPortGroupName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administratively assigned textual description of this
         port group."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosOrlPortGroupEntry 4 }


-- -------------------------------------------------------------
-- etsysCosOrlPortCfgTable
-- -------------------------------------------------------------

etsysCosOrlPortCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosOrlPortCfg
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the outbound rate limiting configurations
         to be used in the entries specified.  Rows in this table are 
         populated based on rowCreation in the etsysCosOrlPortGroupTable.
         Changes to this table are reflected in the 
         etsysCosTxqPortGroupLastChange value."
    ::= { etsysCosOrl 8 }

etsysCosOrlPortCfgEntry OBJECT-TYPE
    SYNTAX      EtsysCosOrlPortCfg
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosOrlPortCfgTable. Details contained within this entry 
         will depict the outbound rate limiter's reception rate and 
         parent rate limiter. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets."
    INDEX  { etsysCosOrlPortGroupIndex, 
             etsysCosOrlPortTypeIndex }
    ::= { etsysCosOrlPortCfgTable 1 }

EtsysCosOrlPortCfg ::=
    SEQUENCE {
        etsysCosOrlPortCfgFloodLimiter
            Integer32
    }

etsysCosOrlPortCfgFloodLimiter OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object will represent the etsysCosOrlResourceNum 
         to be used to limit flooded traffic."
    ::= { etsysCosOrlPortCfgEntry 2 }


-- -------------------------------------------------------------
-- etsysCosOrlResourceTable
-- -------------------------------------------------------------

etsysCosOrlResourceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosOrlResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the outbound rate limiting configurations
         to be used in the entries specified."
    ::= { etsysCosOrl 9 }

etsysCosOrlResourceEntry OBJECT-TYPE
    SYNTAX      EtsysCosOrlResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosOrlResourceTable. These entries contain the specific
         attributes of policing rates (traffic clipping) and 
         parent rate limiter. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets."
    INDEX  { etsysCosOrlPortGroupIndex, 
             etsysCosOrlPortTypeIndex, 
             etsysCosOrlResourceOrlNum }
    ::= { etsysCosOrlResourceTable 1 }

EtsysCosOrlResourceEntry ::=
    SEQUENCE {
        etsysCosOrlResourceOrlNum
            Unsigned32,
        etsysCosOrlResourceUnits
            EtsysCosRateTypes,
        etsysCosOrlResourceRate
            Integer32,
        etsysCosOrlResourceParentOrl
            Integer32,
        etsysCosOrlResourceType
            EtsysRateLimitingType,
        etsysCosOrlResourceActionCosIndex
            Integer32,
        etsysCosOrlResourceAction
            EtsysViolationAction,
        etsysCosOrlResourceViolationPortList
            PortList,
        etsysCosOrlResourceClearCounters
            TruthValue
    }

etsysCosOrlResourceOrlNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The outbound rate limiter number associated with this entry."
    ::= { etsysCosOrlResourceEntry 1 }

etsysCosOrlResourceUnits OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies the unit size for the etsysCosOrlPortRate.
         Values MUST NOT exceed the capacity of the 
         etsysCosOrlPortType they are associated with."
    DEFVAL {{ pps }}
    ::= { etsysCosOrlResourceEntry 2 }

etsysCosOrlResourceRate OBJECT-TYPE
    SYNTAX      Integer32 (0|1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "Identifies the number of units above which packets will 
         considered in violation. This object is read-only for limiters
         of type count(5). The value (0) shall carry special meaning 
         in this case of unset. Rate limiters identified as having a 
         value of (0) shall not have this settings applied to the 
         limiter."
    DEFVAL { 0 }
    ::= { etsysCosOrlResourceEntry 3 }

etsysCosOrlResourceParentOrl OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to a positive value indicates the 
         etsysCosOrlResourceOrlNum to be used in conjunction with 
         this setting. A value of (-1) indicates the parent Orl is
         not configured."
    DEFVAL { -1 }
    ::= { etsysCosOrlResourceEntry 4 }

etsysCosOrlResourceType OBJECT-TYPE
    SYNTAX      EtsysRateLimitingType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The characteristics applied to this rate limiter. When 
         chaining limiters is used, the AND / OR attribute denotes the 
         limiter logic in handling violation. For example, option 
         rePrioritizeAnd(2) requires that the current limiter AND it's 
         parent be violated for the packet to be reprioritized. The 
         rePrioritizeOr(3) option only needs one OR the other to be 
         violated for the action to be taken."
    ::= { etsysCosOrlResourceEntry 5 }

etsysCosOrlResourceActionCosIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object will represent the CoS to be applied to packets
         in violation of the limits set when the etsysCosOrlResourceType
         is set to one of the rePrioritize types."
    DEFVAL { -1 }
    ::= { etsysCosOrlResourceEntry 6 }

etsysCosOrlResourceAction OBJECT-TYPE
    SYNTAX      EtsysViolationAction
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object allows syslog, SNMP traps, or disabling actions
         to be taken limiters are first exceeded."
    ::= { etsysCosOrlResourceEntry 7 }

etsysCosOrlResourceViolationPortList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The dot1dBridge ports this limiter has been violated on.
         Writing this object will clear the dot1dBridge ports given
         which have a corresponding bit of zero (0) in the PortList."
    ::= { etsysCosOrlResourceEntry 8 }

etsysCosOrlResourceClearCounters OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "This object shall always read false(2). When set to true(1) 
         this object clears the counter associated with this entry, if 
         the associated entry is a limiter of type count(5)."
    ::= { etsysCosOrlResourceEntry 9 }


-- -------------------------------------------------------------
-- etsysCosOrlReferenceMappingTable
-- -------------------------------------------------------------

etsysCosOrlReferenceMappingMaxReference OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of etsysCosOrlReferences allowed in the
         etsysCosOrlMappingTable."
    ::= { etsysCosOrl 10 }

etsysCosOrlReferenceMappingLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosOrlReferenceMappingTable was 
         last modified."
    ::= { etsysCosOrl 11 }

etsysCosOrlReferenceMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosOrlReferenceMap
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the user defined mappings of the 
         outbound-rate-limiter-refences found in the etsysCosTable to 
         actual outbound-rate-limiters associated with the specified 
         port-group."
    ::= { etsysCosOrl 12 }
    
etsysCosOrlReferenceMappingEntry OBJECT-TYPE
    SYNTAX      EtsysCosOrlReferenceMap
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosOrlReferenceMappingTable. Entries within this table 
         MUST be considered non-volatile and MUST be maintained across 
         entity resets."
    INDEX  { etsysCosOrlPortGroupIndex,
             etsysCosOrlPortTypeIndex, 
             etsysCosOrlReference }
    ::= { etsysCosOrlReferenceMappingTable 1 }

EtsysCosOrlReferenceMap ::=
    SEQUENCE {
        etsysCosOrlResourceOrlNumber
            Integer32
    }

etsysCosOrlResourceOrlNumber OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..32767)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The outbound rate limiter bond to this reference."
    ::= { etsysCosOrlReferenceMappingEntry 1 }


-- -------------------------------------------------------------
-- etsysCosOrlViolationTable
-- -------------------------------------------------------------

etsysCosOrlViolationClearTable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object SHALL always read false. Setting this object to 
         true removes all existing entries from the
         etsysCosOrlViolationTable."
    ::= { etsysCosOrl 13 }

etsysCosOrlViolationLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosOrlViolationTable was last 
         modified."
    ::= { etsysCosOrl 14 }

etsysCosOrlDisabledPortsList OBJECT-TYPE
    SYNTAX      PortList 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports disabled as a result of limiting 
         violation.  A set to this list will clear the violation status
         of any port which has a corresponding clear bit in the list."
    ::= { etsysCosOrl 15 }

etsysCosOrlViolationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosOrlViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the list of entries of all dot1dBridge ports
         that have detected violations of the limiters current 
         settings."
    ::= { etsysCosOrl 16 }

etsysCosOrlViolationEntry OBJECT-TYPE
    SYNTAX      EtsysCosOrlViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosOrlViolationTable."
    INDEX  { etsysCosOrlPortIndex,
             etsysCosOrlResourceOrlNumber }
    ::= { etsysCosOrlViolationTable 1 }

EtsysCosOrlViolationEntry ::=
    SEQUENCE {
        etsysCosOrlPortIndex
            Integer32,
        etsysCosOrlViolation
            TruthValue,
        etsysCosOrlCounter
            Counter64,
        etsysCosOrlResetFlags
            EtsysRateLimitResetBits
    }

etsysCosOrlPortIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The dot1dBridge port on which this violation occurred."
    ::= { etsysCosOrlViolationEntry 1 }

etsysCosOrlViolation OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the violation status for this limiter.
         If this object reads true(1) the action associated with this 
         Orl have been taken."
    ::= { etsysCosOrlViolationEntry 2 }

etsysCosOrlCounter OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "In order for this object to have meaningful information the 
         assigned limiter must be set up as a counter type limiter.
         This value shall then represent the number of configured units
         the limiter has recorded. If the associated limiter 
         is of type pps(0) then the object represents the packets 
         counted, otherwise it represents the octets counted."
    ::= { etsysCosOrlViolationEntry 3 }

etsysCosOrlResetFlags OBJECT-TYPE
    SYNTAX      EtsysRateLimitResetBits
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value shall always read as 0. This object clears the 
         statistics gathering portion of this entry. If bit 0 is set, 
         the etsysCosOrlViolation TruthValue will be reset to false. If
         bit 1 is set, the etsysCosOrlUnitCounter will be reset to zero.
         Both bits set shall clear both properties."
    ::= { etsysCosOrlViolationEntry 4 }

-- -------------------------------------------------------------
-- etsysCosFloodControl
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- etsysCosFloodCtrlPortTypeTable
-- -------------------------------------------------------------

etsysCosFloodCtrlPortTypeMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The actual number of distinctly unique (as defined by
         the set of shared flooded RateLimiting capabilities)
         port types available for configuration on this agent."
    ::= { etsysCosFloodControl 1 }

etsysCosFloodCtrlPortTypeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosFloodCtrlPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table defining the distinctly unique Broadcast Rate Limiting
         characteristics of a group of ports."
    ::= { etsysCosFloodControl 2 }

etsysCosFloodCtrlPortTypeEntry OBJECT-TYPE
    SYNTAX      EtsysCosFloodCtrlPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosFloodCtrlPortTypeTable."
    INDEX  { etsysCosFloodCtrlPortTypeIndex }
    ::= { etsysCosFloodCtrlPortTypeTable 1 }

EtsysCosFloodCtrlPortTypeEntry ::=
    SEQUENCE {
        etsysCosFloodCtrlPortTypeIndex
            Integer32,
        etsysCosFloodCtrlPortTypeDescr
            SnmpAdminString,
        etsysCosFloodCtrlPortTypeEligiblePorts
            PortList,
        etsysCosFloodCtrlPortTypeUnselectedPorts
            PortList,
        etsysCosFloodCtrlPortTypeSupportedRateTypes
            EtsysCosRateTypes,
        etsysCosFloodCtrlPortTypeCapabilities
            EtsysCosRlCapabilities
    }

etsysCosFloodCtrlPortTypeIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The port type associated with the unique set of ports sharing
         these capabilities."
    ::= { etsysCosFloodCtrlPortTypeEntry 1 }

etsysCosFloodCtrlPortTypeDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The textual description that represents this set of dot1dBridge
         ports."
    ::= { etsysCosFloodCtrlPortTypeEntry 2 }

etsysCosFloodCtrlPortTypeEligiblePorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports belonging (having the same
         capabilities) to this port type."
    ::= { etsysCosFloodCtrlPortTypeEntry 3 }

etsysCosFloodCtrlPortTypeUnselectedPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports not yet bound to a user
         created row (port group) in the etsysCosFloodCtrlPortGroupTable."
    ::= { etsysCosFloodCtrlPortTypeEntry 4 }

etsysCosFloodCtrlPortTypeSupportedRateTypes OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The rate types available on this type of port."
    ::= { etsysCosFloodCtrlPortTypeEntry 5 }

etsysCosFloodCtrlPortTypeCapabilities OBJECT-TYPE
    SYNTAX      EtsysCosRlCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The EtsysCosRlCapabilities available on this type of port."
    ::= { etsysCosFloodCtrlPortTypeEntry 7 }

-- -------------------------------------------------------------
-- etsysCosFloodCtrlUnitTable
-- -------------------------------------------------------------

etsysCosFloodCtrlUnitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosFloodCtrlUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the rate type, minimum and maximum limits 
         of the port groups and their respective granularity."
    ::= { etsysCosFloodControl 3 }

etsysCosFloodCtrlUnitEntry OBJECT-TYPE
    SYNTAX      EtsysCosFloodCtrlUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosFloodCtrlUnitTable. Entries in this table indicate the port 
         group boundaries for the type of port specified."
    INDEX  { etsysCosFloodCtrlPortTypeIndex,
             etsysCosFloodCtrlUnitTypeIndex }
    ::= { etsysCosFloodCtrlUnitTable 1 }

EtsysCosFloodCtrlUnitEntry ::=
    SEQUENCE {
        etsysCosFloodCtrlUnitTypeIndex
            EtsysCosRateTypes,
        etsysCosFloodCtrlUnitMaxRate
            Unsigned32,
        etsysCosFloodCtrlUnitMinRate
            Unsigned32,
        etsysCosFloodCtrlUnitGranularity
            Unsigned32
    }

etsysCosFloodCtrlUnitTypeIndex OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unit identifier for this port type. The metric at which 
         the etsysCosFloodCtrlUnitMinRate, etsysCosFloodCtrlUnitMaxRate and 
         etsysCosFloodCtrlUnitGranularity are applied."
    ::= { etsysCosFloodCtrlUnitEntry 1 }

etsysCosFloodCtrlUnitMaxRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum rate supported at the rate of units specified by
         etsysCosFloodCtrlUnitTypeIndex."
    ::= { etsysCosFloodCtrlUnitEntry 2 }

etsysCosFloodCtrlUnitMinRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The minimum rate supported at the rate of units specified by
         etsysCosFloodCtrlUnitTypeIndex."
    ::= { etsysCosFloodCtrlUnitEntry 3 }

etsysCosFloodCtrlUnitGranularity OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The smallest unit by which a rate can be modified."
    ::= { etsysCosFloodCtrlUnitEntry 4 }


-- -------------------------------------------------------------
-- etsysCosFloodCtrlPortGroupTable
-- -------------------------------------------------------------

etsysCosFloodCtrlPortGroupMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of port groups supported by this agent."
    ::= { etsysCosFloodControl 4 }

etsysCosFloodCtrlPortGroupNumEntries OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of assigned dot1dBridge port groups present in this
         agent.  This number also reflects the port groups with a 
         default system setup indicated by a zero(0) index."
    ::= { etsysCosFloodControl 5 }

etsysCosFloodCtrlPortGroupLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosFloodCtrlPortTypeTable was last 
         modified."
    ::= { etsysCosFloodControl 6 }

etsysCosFloodCtrlPortGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosFloodCtrlPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the settings for specific types of 
         dot1dBridge ports and their matching flooded rate limiting 
         configurations."
    ::= { etsysCosFloodControl 7 }

etsysCosFloodCtrlPortGroupEntry OBJECT-TYPE
    SYNTAX      EtsysCosFloodCtrlPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosFloodCtrlPortTypeTable. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets." 
    INDEX  { etsysCosFloodCtrlPortGroupIndex,
             etsysCosFloodCtrlPortTypeIndex }
    ::= { etsysCosFloodCtrlPortGroupTable 1 }

EtsysCosFloodCtrlPortGroupEntry ::=
    SEQUENCE {
        etsysCosFloodCtrlPortGroupIndex
            Integer32,
        etsysCosFloodCtrlPortGroupRowStatus
            RowStatus,
        etsysCosFloodCtrlPortGroupList
            PortList,
        etsysCosFloodCtrlPortGroupName
            SnmpAdminString
      }

etsysCosFloodCtrlPortGroupIndex OBJECT-TYPE
    SYNTAX      Integer32 (0|1..32767)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The user-specified port group for which the settings are 
         defined.  This value MAY have meaning to the user for the
         purposes of identifying groups of dot1dBridge ports with 
         similar function (uplink, user, etc).

         A value of zero(0) has special meaning in that it identifies
         the default port grouping of characteristics present in the 
         agent.  Entries indexed by a zero have a max-access of 
         read-only.  This value will have a system defined maximum of 
         etsysCosFloodCtrlPortGroupMaxEntries."
    ::= { etsysCosFloodCtrlPortGroupEntry 1 }

etsysCosFloodCtrlPortGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows for the dynamic creation and deletion
         of entries within the etsysCosFloodCtrlPortGroupTable. Entries within
         this table MUST be considered non-volatile and MUST be
         maintained across entity resets.

         When this object's value is active(1) the specified dot1dBridge
         ports listed in the PortGroupList shall be removed from 
         UnselectedPorts.

         A row in transition to the active(1) state will have its
         port group list validated before activation. A port list that
         cannot be made active MUST result in the row state to become
         notReady(3) and no configuration action will be taken for this
         row. Rows not in the active(1) state SHALL NOT be persisted 
         across entity resets and MUST return the ports from its 
         port group list to the etsysCosFloodCtrlPortTypeUnselectedPorts.

         When this object's value is set to destroy(6) from an active(1)
         state, all dot1dBridge ports contained in 
         etsysCosFloodCtrlPortGroupList shall be returned to the 
         etsysCosFloodCtrlPortTypeUnselectedPorts and all entries referencing
         this row shall be removed as well."

    ::= { etsysCosFloodCtrlPortGroupEntry 2 }

etsysCosFloodCtrlPortGroupList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports to be assigned to this group. 
         Ports in this list MUST :
           o Be mutually exclusive from other entries in this table
           o Be comprised of the same port type as defined by the
             etsysCosFloodCtrlPortTypeIndex."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosFloodCtrlPortGroupEntry 3 }

etsysCosFloodCtrlPortGroupName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administratively assigned textual description of this
         port group."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosFloodCtrlPortGroupEntry 4 }

-- -------------------------------------------------------------
-- etsysCosFloodCtrlResourceTable
-- -------------------------------------------------------------

etsysCosFloodCtrlSyslogActionMsgFormat OBJECT-TYPE
    SYNTAX      INTEGER {
                    notification(1),
                    notificationWithPktHdr(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls the format of syslog messages sent in
         response to a flood rate limit being violated. 

         A value of notification(1) causes the syslog message to
         provide the index of the violated limiter and the port(s) that
         the violation occurred on.

         A value of notificationWithPktHdr(2) causes the syslog message
         to provide the first 64 bytes of the violating packet in 
         addition to the information provided by notification(1)."
    DEFVAL { notification }
    ::= { etsysCosFloodControl 8 }

etsysCosFloodCtrlResourceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosFloodCtrlResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the inbound rate limiting configurations
         to be used in the entries specified."
    ::= { etsysCosFloodControl 9 }

etsysCosFloodCtrlResourceEntry OBJECT-TYPE
    SYNTAX      EtsysCosFloodCtrlResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosFloodCtrlResourceTable. These entries contain the 
         specific attributes of flood policing rates (traffic clipping).
         Entries within this table MUST be considered non-volatile and 
         MUST be maintained across entity resets."
    INDEX  { etsysCosFloodCtrlPortGroupIndex,
             etsysCosFloodCtrlPortTypeIndex,
             etsysCosFloodCtrlFloodType }
    ::= { etsysCosFloodCtrlResourceTable 1 }

EtsysCosFloodCtrlResourceEntry ::=
    SEQUENCE {
        etsysCosFloodCtrlFloodType
            INTEGER,
        etsysCosFloodCtrlResourceUnits
            EtsysCosRateTypes,
        etsysCosFloodCtrlResourceRate
            Integer32,
        etsysCosFloodCtrlResourceAction
            BITS,
        etsysCosFloodCtrlResourceViolationPortList
            PortList,
        etsysCosFloodCtrlResourceClearCounters
            TruthValue
    }

etsysCosFloodCtrlFloodType OBJECT-TYPE
    SYNTAX      INTEGER {
                    unicastUnknown(1),
                    multicast(2),
                    broadcast(3)
                }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The type of received traffic that rate limited based on this 
         row entries configured limits."
    ::= { etsysCosFloodCtrlResourceEntry 1 }

etsysCosFloodCtrlResourceUnits OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies the unit size for the etsysCosFloodCtrlPortRate.
         Values MUST NOT exceed the capacity of the 
         etsysCosFloodCtrlPortType they are associated with."
    DEFVAL {{ pps }}
    ::= { etsysCosFloodCtrlResourceEntry 2 }

etsysCosFloodCtrlResourceRate OBJECT-TYPE
    SYNTAX      Integer32 (0|1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "Identifies the number of units above which packets will 
         considered in violation. 

         The value (0) shall carry special meaning 
         in this case of unset. Rate limiters identified as having a 
         value of (0) shall not have this settings applied to the 
         limiter."
    DEFVAL { 0 }
    ::= { etsysCosFloodCtrlResourceEntry 3 }

etsysCosFloodCtrlResourceAction OBJECT-TYPE
    SYNTAX       BITS  {
         drop(0),      -- Packets will be dropped.
         syslog(1),    -- Syslog on first violation.
         trap(2),      -- SNMP Notify on first violation.
         disable(3)    -- Disable ingress port on first violation.
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object allows packet dropping, syslog, SNMP traps, or disabling 
         actions to be taken limiters are first exceeded. It is permissible
         for no actions to be specified, which effectively disables the 
         limiter."
    DEFVAL {{ drop }}
    ::= { etsysCosFloodCtrlResourceEntry 4 }

etsysCosFloodCtrlResourceViolationPortList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The dot1dBridge ports this limiter has been violated on.
         Writing this object will clear the dot1dBridge ports given
         which have a corresponding bit of zero (0) in the PortList."
    ::= { etsysCosFloodCtrlResourceEntry 5 }

etsysCosFloodCtrlResourceClearCounters OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "This object shall always read false(2). When set to true(1) 
         this object clears the counter associated with this entry."
    ::= { etsysCosFloodCtrlResourceEntry 6 }

-- -------------------------------------------------------------
-- etsysCosFloodCtrlViolationTable
-- -------------------------------------------------------------

etsysCosFloodCtrlViolationClearTable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object SHALL always read false. Setting this object to 
         true removes all existing entries from the
         etsysCosFloodCtrlViolationTable."
    ::= { etsysCosFloodControl 10 }

etsysCosFloodCtrlViolationLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosFloodCtrlViolationTable was last 
         modified."
    ::= { etsysCosFloodControl 11 }

etsysCosFloodCtrlDisabledPortsList OBJECT-TYPE
    SYNTAX      PortList 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports disabled as a result of limiting 
         violation.  A set to this list will clear the violation status
         of any port which has a corresponding clear bit in the list."
    ::= { etsysCosFloodControl 12 }

etsysCosFloodCtrlViolationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosFloodCtrlViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the list of entries of all dot1dBridge ports
         that have detected violations of the limiters current 
         settings."
    ::= { etsysCosFloodControl 13 }

etsysCosFloodCtrlViolationEntry OBJECT-TYPE
    SYNTAX      EtsysCosFloodCtrlViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosFloodCtrlViolationTable."
    INDEX  { dot1dBasePort, etsysCosFloodCtrlFloodType }
    ::= { etsysCosFloodCtrlViolationTable 1 }

EtsysCosFloodCtrlViolationEntry ::=
    SEQUENCE {
        etsysCosFloodCtrlViolation
            TruthValue,
        etsysCosFloodCtrlCounter
            Counter64,
        etsysCosFloodCtrlResetFlags
            EtsysRateLimitResetBits
    }

etsysCosFloodCtrlViolation OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the violation status for this limiter.
         If this object reads true(1) the action associated with this 
         FloodCtrl have been taken."
    ::= { etsysCosFloodCtrlViolationEntry 1 }

etsysCosFloodCtrlCounter OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of configured units the limiter has recorded. 
         If the associated limiter is of type pps(1) then the object 
         represents the packets counted, otherwise it represents the 
         octets counted."
    ::= { etsysCosFloodCtrlViolationEntry 2 }

etsysCosFloodCtrlResetFlags OBJECT-TYPE
    SYNTAX      EtsysRateLimitResetBits
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value shall always read as BITS contstruct with no bit set. 
         This object clears the statistics gathering portion of this entry. 
         If bit 0 is set, the etsysCosFloodCtrlViolation TruthValue will be 
         reset to false(2). If bit 1 is set, the 
         etsysCosFloodCtrlUnitCounter will be reset to zero.  Setting both 
         bits simultaneously shall clear both properties."
    ::= { etsysCosFloodCtrlViolationEntry 3 }

-- -------------------------------------------------------------
-- -------------------------------------------------------------
-- etsysCosUserIrlrs group
-- -------------------------------------------------------------
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- etsysCosUserIrlrsPortTypeTable
-- -------------------------------------------------------------

etsysCosUserIrlrsPortTypeMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The actual number of distinctly unique (as defined by
         the set of shared user rate limiting/shaping (UserRlRs)
         capabilities) port types available for configuration on 
         this agent."
    ::= { etsysCosUserIrlrs 1 }

etsysCosUserIrlrsPortTypeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserIrlrsPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table defining the distinctly unique UserRlRs 
         characteristics of a group of ports."
    ::= { etsysCosUserIrlrs 2 }

etsysCosUserIrlrsPortTypeEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserIrlrsPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserIrlrsPortTypeTable."
    INDEX  { etsysCosUserIrlrsPortTypeIndex }
    ::= { etsysCosUserIrlrsPortTypeTable 1 }

EtsysCosUserIrlrsPortTypeEntry ::=
    SEQUENCE {
        etsysCosUserIrlrsPortTypeIndex
            Integer32,
        etsysCosUserIrlrsPortTypeDescr
            SnmpAdminString,
        etsysCosUserIrlrsPortTypeEligiblePorts
            PortList,
        etsysCosUserIrlrsPortTypeUnselectedPorts
            PortList,
        etsysCosUserIrlrsPortTypeNumberOfUserRlRss
            Integer32,
        etsysCosUserIrlrsPortTypeSupportedRateTypes
            EtsysCosRateTypes,
        etsysCosUserIrlrsPortTypeCapabilities
            EtsysCosRlCapabilities,
        etsysCosUserIrlrsPortTypeModes
            EtsysCosUserModeCapabilities
    }

etsysCosUserIrlrsPortTypeIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The port type associated with the unique set of ports sharing
         these capabilities."
    ::= { etsysCosUserIrlrsPortTypeEntry 1 }

etsysCosUserIrlrsPortTypeDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The textual description that represents this set of dot1dBridge
         ports."
    ::= { etsysCosUserIrlrsPortTypeEntry 2 }

etsysCosUserIrlrsPortTypeEligiblePorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports belonging (having the same
         capabilities) to this port type."
    ::= { etsysCosUserIrlrsPortTypeEntry 3 }

etsysCosUserIrlrsPortTypeUnselectedPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports not yet bound to a user
         created row (port group) in the etsysCosUserIrlrsPortGroupTable."
    ::= { etsysCosUserIrlrsPortTypeEntry 4 }

etsysCosUserIrlrsPortTypeNumberOfUserRlRss OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of user rate limiters(or shapers) supported by 
         this agent on this type of port."
    ::= { etsysCosUserIrlrsPortTypeEntry 5 }

etsysCosUserIrlrsPortTypeSupportedRateTypes OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The rate types available on this type of port."
    ::= { etsysCosUserIrlrsPortTypeEntry 6 }

etsysCosUserIrlrsPortTypeCapabilities OBJECT-TYPE
    SYNTAX      EtsysCosRlCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The EtsysCosRlCapabilities available on this type of port."
    ::= { etsysCosUserIrlrsPortTypeEntry 7 }

etsysCosUserIrlrsPortTypeModes OBJECT-TYPE
    SYNTAX      EtsysCosUserModeCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The EtsysCosUserModeCapabilities available on this type of port."
    ::= { etsysCosUserIrlrsPortTypeEntry 8 }

-- -------------------------------------------------------------
-- etsysCosUserIrlrsUnitTable
-- -------------------------------------------------------------

etsysCosUserIrlrsUnitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserIrlrsUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the rate type, minimum and maximum limits 
         of the port groups and their respective granularity."
    ::= { etsysCosUserIrlrs 3 }

etsysCosUserIrlrsUnitEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserIrlrsUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserIrlrsUnitTable. Entries in this table indicate the port 
         group boundaries for the type of port specified."
    INDEX  { etsysCosUserIrlrsPortTypeIndex,
             etsysCosUserIrlrsUnitTypeIndex }
    ::= { etsysCosUserIrlrsUnitTable 1 }

EtsysCosUserIrlrsUnitEntry ::=
    SEQUENCE {
        etsysCosUserIrlrsUnitTypeIndex
            EtsysCosRateTypes,
        etsysCosUserIrlrsUnitMaxRate
            Unsigned32,
        etsysCosUserIrlrsUnitMinRate
            Unsigned32,
        etsysCosUserIrlrsUnitGranularity
            Unsigned32
    }

etsysCosUserIrlrsUnitTypeIndex OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unit identifier for this port type. The metric at which 
         the etsysCosUserIrlrsUnitMinRate, 
         etsysCosUserIrlrsUnitMaxRate and 
         etsysCosUserIrlrsUnitGranularity are applied."
    ::= { etsysCosUserIrlrsUnitEntry 1 }

etsysCosUserIrlrsUnitMaxRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum rate supported at the rate of units specified by
         etsysCosUserIrlrsUnitType."
    ::= { etsysCosUserIrlrsUnitEntry 2 }

etsysCosUserIrlrsUnitMinRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The minimum rate supported at the rate of units specified by
         etsysCosUserIrlrsUnitType."
    ::= { etsysCosUserIrlrsUnitEntry 3 }

etsysCosUserIrlrsUnitGranularity OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The smallest unit by which a rate can be modified."
    ::= { etsysCosUserIrlrsUnitEntry 4 }


-- -------------------------------------------------------------
-- etsysCosUserIrlrsPortGroupTable
-- -------------------------------------------------------------

etsysCosUserIrlrsPortGroupMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of port groups supported by this agent."
    ::= { etsysCosUserIrlrs 4 }

etsysCosUserIrlrsPortGroupNumEntries OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of assigned dot1dBridge port groups present in this
         agent.  This number also reflects the port groups with a 
         default system setup indicated by a zero(0) index."
    ::= { etsysCosUserIrlrs 5 }

etsysCosUserIrlrsPortGroupLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosUserIrlrsPortTypeTable was last 
         modified."
    ::= { etsysCosUserIrlrs 6 }

etsysCosUserIrlrsPortGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserIrlrsPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the settings for specific types of 
         dot1dBridge ports and their matching user rate limiting(or shaping) 
         configurations."
    ::= { etsysCosUserIrlrs 7 }

etsysCosUserIrlrsPortGroupEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserIrlrsPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserIrlrsPortTypeTable. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets." 
    INDEX  { etsysCosUserIrlrsPortGroupIndex,
             etsysCosUserIrlrsPortTypeIndex }
    ::= { etsysCosUserIrlrsPortGroupTable 1 }

EtsysCosUserIrlrsPortGroupEntry ::=
    SEQUENCE {
        etsysCosUserIrlrsPortGroupIndex
            Integer32,
        etsysCosUserIrlrsPortGroupRowStatus
            RowStatus,
        etsysCosUserIrlrsPortGroupList
            PortList,
        etsysCosUserIrlrsPortGroupName
            SnmpAdminString
    }

etsysCosUserIrlrsPortGroupIndex OBJECT-TYPE
    SYNTAX      Integer32 (0|1..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The user-specified port group for which the settings are 
         defined.  This value MAY have meaning to the user for the
         purposes of identifying groups of dot1dBridge ports with 
         similar function (uplink, user, etc).

         A value of zero(0) has special meaning in that it identifies
         the default port grouping of characteristics present in the 
         agent.  Entries indexed by a zero have a max-access of 
         read-only.  This value will have a system defined maximum of 
         etsysCosUserIrlrsPortGroupMaxEntries."
    ::= { etsysCosUserIrlrsPortGroupEntry 1 }

etsysCosUserIrlrsPortGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows for the dynamic creation and deletion
         of entries within the etsysCosUserIrlrsPortGroupTable. 
         Entries within this table MUST be considered non-volatile 
         and MUST be maintained across entity resets.

         When this object's value is active(1) the specified dot1dBridge
         ports listed in the PortGroupList shall be removed from 
         UnselectedPorts.

         A row in transition to the active(1) state will have its
         port group list validated before activation. A port list that
         cannot be made active MUST result in the row state to become
         notReady(3) and no configuration action will be taken for this
         row. Rows not in the active(1) state SHALL NOT be persisted 
         across entity resets and MUST return the ports from its 
         port group list to the etsysCosUserIrlrsPortTypeUnselectedPorts.

         When this object's value is set to destroy(6) from an active(1)
         state, all dot1dBridge ports contained in 
         etsysCosUserIrlrsPortGroupList shall be returned to the 
         etsysCosUserIrlrsPortTypeUnselectedPorts and all entries 
         referencing this row shall be removed as well."

    ::= { etsysCosUserIrlrsPortGroupEntry 2 }

etsysCosUserIrlrsPortGroupList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports to be assigned to this group. 
         Ports in this list MUST :
           o Be mutually exclusive from other entries in this table
           o Be comprised of the same port type as defined by the
             etsysCosUserIrlrsPortTypeIndex."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosUserIrlrsPortGroupEntry 3 }

etsysCosUserIrlrsPortGroupName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administratively assigned textual description of this
         port group."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosUserIrlrsPortGroupEntry 4 }


-- -------------------------------------------------------------
-- etsysCosUserIrlrsResourceTable
-- -------------------------------------------------------------

etsysCosUserIrlrsResourceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserIrlrsResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the user rate limiting(or shaping) configurations
         to be used in the entries specified."
    ::= { etsysCosUserIrlrs 8 }

etsysCosUserIrlrsResourceEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserIrlrsResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserIrlrsResourceTable. These entries contain the 
         specific attributes of policing rates (traffic clipping or shaping)
         and parent rate limiter (or shaper). Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets."
    INDEX  { etsysCosUserIrlrsPortGroupIndex, 
             etsysCosUserIrlrsPortTypeIndex, 
             etsysCosUserIrlrsResourceUserIrlrsNum }
    ::= { etsysCosUserIrlrsResourceTable 1 }

EtsysCosUserIrlrsResourceEntry ::=
    SEQUENCE {
        etsysCosUserIrlrsResourceUserIrlrsNum
            Unsigned32,
        etsysCosUserIrlrsResourceUnits
            EtsysCosRateTypes,
        etsysCosUserIrlrsResourceRate
            Integer32,
        etsysCosUserIrlrsResourceParentUserIrlrs
            Integer32,
        etsysCosUserIrlrsResourceType
            EtsysRateLimitingType,
        etsysCosUserIrlrsResourceActionCosIndex
            Integer32,
        etsysCosUserIrlrsResourceAction
            EtsysViolationAction,
        etsysCosUserIrlrsResourceViolationPortList
            PortList,
        etsysCosUserIrlrsResourceClearCounters
            TruthValue,
        etsysCosUserIrlrsResourceMode
            EtsysCosRlModes
    }

etsysCosUserIrlrsResourceUserIrlrsNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The user rate limiter(or shaper) number associated with this entry."
    ::= { etsysCosUserIrlrsResourceEntry 1 }

etsysCosUserIrlrsResourceUnits OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies the unit size for the etsysCosUserIrlrsPortRate.
         Values MUST NOT exceed the capacity of the 
         etsysCosUserIrlrsPortType they are associated with."
    DEFVAL {{ pps }}
    ::= { etsysCosUserIrlrsResourceEntry 2 }

etsysCosUserIrlrsResourceRate OBJECT-TYPE
    SYNTAX      Integer32 (0|1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "Identifies the number of units above which packets will 
         considered in violation. This object is read-only for 
         limiters(or shapers) of type count(5). The value (0) 
         shall carry special meaning in this case of unset. 
         Rate Limiters(or Shapers) identified as having a value of (0) 
         shall not have this settings applied to the limiter(or shaper)."
    DEFVAL { 0 }
    ::= { etsysCosUserIrlrsResourceEntry 3 }

etsysCosUserIrlrsResourceParentUserIrlrs OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to a positive value indicates the 
         etsysCosUserIrlrsResourceUserIrlrsNum to be used in 
         conjunction with this setting. A value of (-1) indicates the 
         parent UserRlRs is not configured."
    DEFVAL { -1 }
    ::= { etsysCosUserIrlrsResourceEntry 4 }

etsysCosUserIrlrsResourceType OBJECT-TYPE
    SYNTAX      EtsysRateLimitingType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The characteristics applied to this rate limiter(or shaper). 
         When chaining is used, the AND / OR attribute denotes the 
         limiter(or shaper) logic in handling violation. For example,
         option rePrioritizeAnd(2) requires that the current limiter AND 
         it's parent be violated for the packet to be reprioritized. The 
         rePrioritizeOr(3) option only needs one OR the other to be 
         violated for the action to be taken."
    ::= { etsysCosUserIrlrsResourceEntry 5 }

etsysCosUserIrlrsResourceActionCosIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object will represent the CoS to be applied to packets
         in violation of the limits set when the 
         etsysCosUserIrlrsResourceType is set to one of the 
         rePrioritize types."
    DEFVAL { -1 }
    ::= { etsysCosUserIrlrsResourceEntry 6 }

etsysCosUserIrlrsResourceAction OBJECT-TYPE
    SYNTAX      EtsysViolationAction
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object allows syslog, SNMP traps, or disabling actions
         to be taken when limiters (shapers) are first exceeded."
    ::= { etsysCosUserIrlrsResourceEntry 7 }

etsysCosUserIrlrsResourceViolationPortList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The dot1dBridge ports this limiter(or shaper) has been violated on.
         Writing this object will clear the dot1dBridge ports given
         which have a corresponding bit of zero (0) in the PortList."
    ::= { etsysCosUserIrlrsResourceEntry 8 }

etsysCosUserIrlrsResourceClearCounters OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "This object shall always read false(2). When set to true(1) 
         this object clears the counter associated with this entry, if 
         the associated entry is a limiter(or shaper) of type count(5)."
    ::= { etsysCosUserIrlrsResourceEntry 9 }
    
etsysCosUserIrlrsResourceMode OBJECT-TYPE
    SYNTAX      EtsysCosRlModes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "This object will represent the type of limiter or shaper that this 
         object is currently configured to."
    ::= { etsysCosUserIrlrsResourceEntry 10 }


-- -------------------------------------------------------------
-- etsysCosUserIrlrsReferenceMappingTable
-- -------------------------------------------------------------

etsysCosUserIrlrsReferenceMappingMaxReference OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of etsysCosUserIrlrsReferences allowed in the
         etsysCosUserIrlrsMappingTable."
    ::= { etsysCosUserIrlrs 9 }

etsysCosUserIrlrsReferenceMappingLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosUserIrlrsReferenceMappingTable was 
         last modified."
    ::= { etsysCosUserIrlrs 10 }

etsysCosUserIrlrsReferenceMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserIrlrsReferenceMap
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the user defined mappings of the 
         user rate limiter(or shaper) refences found in the etsysCosTable to 
         actual user rate limiters(or shapers) associated with the specified 
         port-group."
    ::= { etsysCosUserIrlrs 11 }
    
etsysCosUserIrlrsReferenceMappingEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserIrlrsReferenceMap
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserIrlrsReferenceMappingTable. Entries within this table 
         MUST be considered non-volatile and MUST be maintained across 
         entity resets."
    INDEX  { etsysCosUserIrlrsPortGroupIndex,
             etsysCosUserIrlrsPortTypeIndex, 
             etsysCosUserIrlrsReference }
    ::= { etsysCosUserIrlrsReferenceMappingTable 1 }

EtsysCosUserIrlrsReferenceMap ::=
    SEQUENCE {
        etsysCosUserIrlrsResourceUserIrlrsNumber
            Integer32
    }

etsysCosUserIrlrsResourceUserIrlrsNumber OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..32767)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The user rate limiter(or shaper) bound to this reference."
    ::= { etsysCosUserIrlrsReferenceMappingEntry 1 }


-- -------------------------------------------------------------
-- etsysCosUserIrlrsViolationTable
-- -------------------------------------------------------------

etsysCosUserIrlrsViolationClearTable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object SHALL always read false. Setting this object to 
         true removes all existing entries from the
         etsysCosUserIrlrsViolationTable."
    ::= { etsysCosUserIrlrs 12 }

etsysCosUserIrlrsViolationLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosUserIrlrsViolationTable was last 
         modified."
    ::= { etsysCosUserIrlrs 13 }

etsysCosUserIrlrsViolationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserIrlrsViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the list of entries of all users as classified by
         etsysPolicyRules that have detected violations of the 
         limiters(or shapers) current settings."
    ::= { etsysCosUserIrlrs 15 }

etsysCosUserIrlrsViolationEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserIrlrsViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserIrlrsViolationTable."
    INDEX  { etsysPolicyRuleType, etsysPolicyRuleData, 
             etsysPolicyRulePrefixBits, etsysPolicyRulePortType, 
             etsysPolicyRulePort, etsysCosUserIrlrsResourceUserIrlrsNumber
           }
    ::= { etsysCosUserIrlrsViolationTable 1 }

EtsysCosUserIrlrsViolationEntry ::=
    SEQUENCE {
        etsysCosUserIrlrsViolation
            TruthValue,
        etsysCosUserIrlrsCounter
            Counter64,
        etsysCosUserIrlrsResetFlags
            EtsysRateLimitResetBits
    }
    
etsysCosUserIrlrsViolation OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the violation status for this 
         limiter(or shaper). If this object reads true(1) the action
         associated with this UserIrlrs have been taken."
    ::= { etsysCosUserIrlrsViolationEntry 5 }

etsysCosUserIrlrsCounter OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "In order for this object to have meaningful information the 
         assigned limiter must be set up as a counter type limiter.
         This value shall then represent the number of configured units
         the limiter has recorded. If the associated limiter 
         is of type pps(0) then the object represents the packets 
         counted, otherwise it represents the octets counted."
    ::= { etsysCosUserIrlrsViolationEntry 6 }

etsysCosUserIrlrsResetFlags OBJECT-TYPE
    SYNTAX      EtsysRateLimitResetBits
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value shall always read as 0. This object clears the 
         statistics gathering portion of this entry. If bit 0 is set, 
         the etsysCosUserIrlrsViolation TruthValue will be reset to false. If
         bit 1 is set, the etsysCosUserIrlrsUnitCounter will be reset to zero.
         Both bits set shall clear both properties."
    ::= { etsysCosUserIrlrsViolationEntry 7 }

-- -------------------------------------------------------------
-- -------------------------------------------------------------
-- etsysCosUserOrlrs group
-- -------------------------------------------------------------
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- etsysCosUserOrlrsPortTypeTable
-- -------------------------------------------------------------

etsysCosUserOrlrsPortTypeMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The actual number of distinctly unique (as defined by
         the set of shared user rate limiting/shaping (UserRlRs)
         capabilities) port types available for configuration on 
         this agent."
    ::= { etsysCosUserOrlrs 1 }

etsysCosUserOrlrsPortTypeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserOrlrsPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table defining the distinctly unique UserRlRs 
         characteristics of a group of ports."
    ::= { etsysCosUserOrlrs 2 }

etsysCosUserOrlrsPortTypeEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserOrlrsPortTypeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserOrlrsPortTypeTable."
    INDEX  { etsysCosUserOrlrsPortTypeIndex }
    ::= { etsysCosUserOrlrsPortTypeTable 1 }

EtsysCosUserOrlrsPortTypeEntry ::=
    SEQUENCE {
        etsysCosUserOrlrsPortTypeIndex
            Integer32,
        etsysCosUserOrlrsPortTypeDescr
            SnmpAdminString,
        etsysCosUserOrlrsPortTypeEligiblePorts
            PortList,
        etsysCosUserOrlrsPortTypeUnselectedPorts
            PortList,
        etsysCosUserOrlrsPortTypeNumberOfUserRlRss
            Integer32,
        etsysCosUserOrlrsPortTypeSupportedRateTypes
            EtsysCosRateTypes,
        etsysCosUserOrlrsPortTypeCapabilities
            EtsysCosRlCapabilities,
        etsysCosUserOrlrsPortTypeModes
            EtsysCosUserModeCapabilities
    }

etsysCosUserOrlrsPortTypeIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The port type associated with the unique set of ports sharing
         these capabilities."
    ::= { etsysCosUserOrlrsPortTypeEntry 1 }

etsysCosUserOrlrsPortTypeDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The textual description that represents this set of dot1dBridge
         ports."
    ::= { etsysCosUserOrlrsPortTypeEntry 2 }

etsysCosUserOrlrsPortTypeEligiblePorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports belonging (having the same
         capabilities) to this port type."
    ::= { etsysCosUserOrlrsPortTypeEntry 3 }

etsysCosUserOrlrsPortTypeUnselectedPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports not yet bound to a user
         created row (port group) in the etsysCosUserOrlrsPortGroupTable."
    ::= { etsysCosUserOrlrsPortTypeEntry 4 }

etsysCosUserOrlrsPortTypeNumberOfUserRlRss OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of user rate limiters(or shapers) supported by 
         this agent on this type of port."
    ::= { etsysCosUserOrlrsPortTypeEntry 5 }

etsysCosUserOrlrsPortTypeSupportedRateTypes OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The rate types available on this type of port."
    ::= { etsysCosUserOrlrsPortTypeEntry 6 }

etsysCosUserOrlrsPortTypeCapabilities OBJECT-TYPE
    SYNTAX      EtsysCosRlCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The EtsysCosRlCapabilities available on this type of port."
    ::= { etsysCosUserOrlrsPortTypeEntry 7 }

etsysCosUserOrlrsPortTypeModes OBJECT-TYPE
    SYNTAX      EtsysCosUserModeCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The EtsysCosUserModeCapabilities available on this type of port."
    ::= { etsysCosUserOrlrsPortTypeEntry 8 }

-- -------------------------------------------------------------
-- etsysCosUserOrlrsUnitTable
-- -------------------------------------------------------------

etsysCosUserOrlrsUnitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserOrlrsUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the rate type, minimum and maximum limits 
         of the port groups and their respective granularity."
    ::= { etsysCosUserOrlrs 3 }

etsysCosUserOrlrsUnitEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserOrlrsUnitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserOrlrsUnitTable. Entries in this table indicate the port 
         group boundaries for the type of port specified."
    INDEX  { etsysCosUserOrlrsPortTypeIndex,
             etsysCosUserOrlrsUnitTypeIndex }
    ::= { etsysCosUserOrlrsUnitTable 1 }

EtsysCosUserOrlrsUnitEntry ::=
    SEQUENCE {
        etsysCosUserOrlrsUnitTypeIndex
            EtsysCosRateTypes,
        etsysCosUserOrlrsUnitMaxRate
            Unsigned32,
        etsysCosUserOrlrsUnitMinRate
            Unsigned32,
        etsysCosUserOrlrsUnitGranularity
            Unsigned32
    }

etsysCosUserOrlrsUnitTypeIndex OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unit identifier for this port type. The metric at which 
         the etsysCosUserOrlrsUnitMinRate, 
         etsysCosUserOrlrsUnitMaxRate and 
         etsysCosUserOrlrsUnitGranularity are applied."
    ::= { etsysCosUserOrlrsUnitEntry 1 }

etsysCosUserOrlrsUnitMaxRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum rate supported at the rate of units specified by
         etsysCosUserOrlrsUnitType."
    ::= { etsysCosUserOrlrsUnitEntry 2 }

etsysCosUserOrlrsUnitMinRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The minimum rate supported at the rate of units specified by
         etsysCosUserOrlrsUnitType."
    ::= { etsysCosUserOrlrsUnitEntry 3 }

etsysCosUserOrlrsUnitGranularity OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The smallest unit by which a rate can be modified."
    ::= { etsysCosUserOrlrsUnitEntry 4 }


-- -------------------------------------------------------------
-- etsysCosUserOrlrsPortGroupTable
-- -------------------------------------------------------------

etsysCosUserOrlrsPortGroupMaxEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of port groups supported by this agent."
    ::= { etsysCosUserOrlrs 4 }

etsysCosUserOrlrsPortGroupNumEntries OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of assigned dot1dBridge port groups present in this
         agent.  This number also reflects the port groups with a 
         default system setup indicated by a zero(0) index."
    ::= { etsysCosUserOrlrs 5 }

etsysCosUserOrlrsPortGroupLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosUserOrlrsPortTypeTable was last 
         modified."
    ::= { etsysCosUserOrlrs 6 }

etsysCosUserOrlrsPortGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserOrlrsPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the settings for specific types of 
         dot1dBridge ports and their matching user rate limiting(or shaping) 
         configurations."
    ::= { etsysCosUserOrlrs 7 }

etsysCosUserOrlrsPortGroupEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserOrlrsPortGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserOrlrsPortTypeTable. Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets." 
    INDEX  { etsysCosUserOrlrsPortGroupIndex,
             etsysCosUserOrlrsPortTypeIndex }
    ::= { etsysCosUserOrlrsPortGroupTable 1 }

EtsysCosUserOrlrsPortGroupEntry ::=
    SEQUENCE {
        etsysCosUserOrlrsPortGroupIndex
            Integer32,
        etsysCosUserOrlrsPortGroupRowStatus
            RowStatus,
        etsysCosUserOrlrsPortGroupList
            PortList,
        etsysCosUserOrlrsPortGroupName
            SnmpAdminString
    }

etsysCosUserOrlrsPortGroupIndex OBJECT-TYPE
    SYNTAX      Integer32 (0|1..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The user-specified port group for which the settings are 
         defined.  This value MAY have meaning to the user for the
         purposes of identifying groups of dot1dBridge ports with 
         similar function (uplink, user, etc).

         A value of zero(0) has special meaning in that it identifies
         the default port grouping of characteristics present in the 
         agent.  Entries indexed by a zero have a max-access of 
         read-only.  This value will have a system defined maximum of 
         etsysCosUserOrlrsPortGroupMaxEntries."
    ::= { etsysCosUserOrlrsPortGroupEntry 1 }

etsysCosUserOrlrsPortGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object allows for the dynamic creation and deletion
         of entries within the etsysCosUserOrlrsPortGroupTable. 
         Entries within this table MUST be considered non-volatile 
         and MUST be maintained across entity resets.

         When this object's value is active(1) the specified dot1dBridge
         ports listed in the PortGroupList shall be removed from 
         UnselectedPorts.

         A row in transition to the active(1) state will have its
         port group list validated before activation. A port list that
         cannot be made active MUST result in the row state to become
         notReady(3) and no configuration action will be taken for this
         row. Rows not in the active(1) state SHALL NOT be persisted 
         across entity resets and MUST return the ports from its 
         port group list to the etsysCosUserOrlrsPortTypeUnselectedPorts.

         When this object's value is set to destroy(6) from an active(1)
         state, all dot1dBridge ports contained in 
         etsysCosUserOrlrsPortGroupList shall be returned to the 
         etsysCosUserOrlrsPortTypeUnselectedPorts and all entries 
         referencing this row shall be removed as well."

    ::= { etsysCosUserOrlrsPortGroupEntry 2 }

etsysCosUserOrlrsPortGroupList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The list of dot1dBridge ports to be assigned to this group. 
         Ports in this list MUST :
           o Be mutually exclusive from other entries in this table
           o Be comprised of the same port type as defined by the
             etsysCosUserOrlrsPortTypeIndex."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosUserOrlrsPortGroupEntry 3 }

etsysCosUserOrlrsPortGroupName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administratively assigned textual description of this
         port group."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysCosUserOrlrsPortGroupEntry 4 }


-- -------------------------------------------------------------
-- etsysCosUserOrlrsResourceTable
-- -------------------------------------------------------------

etsysCosUserOrlrsResourceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserOrlrsResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the user rate limiting(or shaping) configurations
         to be used in the entries specified."
    ::= { etsysCosUserOrlrs 8 }

etsysCosUserOrlrsResourceEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserOrlrsResourceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserOrlrsResourceTable. These entries contain the 
         specific attributes of policing rates (traffic clipping or shaping)
         and parent rate limiter (or shaper). Entries within this table MUST be 
         considered non-volatile and MUST be maintained across entity 
         resets."
    INDEX  { etsysCosUserOrlrsPortGroupIndex, 
             etsysCosUserOrlrsPortTypeIndex, 
             etsysCosUserOrlrsResourceUserOrlrsNum }
    ::= { etsysCosUserOrlrsResourceTable 1 }

EtsysCosUserOrlrsResourceEntry ::=
    SEQUENCE {
        etsysCosUserOrlrsResourceUserOrlrsNum
            Unsigned32,
        etsysCosUserOrlrsResourceUnits
            EtsysCosRateTypes,
        etsysCosUserOrlrsResourceRate
            Integer32,
        etsysCosUserOrlrsResourceParentUserOrlrs
            Integer32,
        etsysCosUserOrlrsResourceType
            EtsysRateLimitingType,
        etsysCosUserOrlrsResourceActionCosIndex
            Integer32,
        etsysCosUserOrlrsResourceAction
            EtsysViolationAction,
        etsysCosUserOrlrsResourceViolationPortList
            PortList,
        etsysCosUserOrlrsResourceClearCounters
            TruthValue,
        etsysCosUserOrlrsResourceMode
            EtsysCosRlModes
    }

etsysCosUserOrlrsResourceUserOrlrsNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The user rate limiter(or shaper) number associated with this entry."
    ::= { etsysCosUserOrlrsResourceEntry 1 }

etsysCosUserOrlrsResourceUnits OBJECT-TYPE
    SYNTAX      EtsysCosRateTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies the unit size for the etsysCosUserOrlrsPortRate.
         Values MUST NOT exceed the capacity of the 
         etsysCosUserOrlrsPortType they are associated with."
    DEFVAL {{ pps }}
    ::= { etsysCosUserOrlrsResourceEntry 2 }

etsysCosUserOrlrsResourceRate OBJECT-TYPE
    SYNTAX      Integer32 (0|1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "Identifies the number of units above which packets will 
         considered in violation. This object is read-only for 
         limiters(or shapers) of type count(5). The value (0) 
         shall carry special meaning in this case of unset. 
         Rate Limiters(or Shapers) identified as having a value of (0) 
         shall not have this settings applied to the limiter(or shaper)."
    DEFVAL { 0 }
    ::= { etsysCosUserOrlrsResourceEntry 3 }

etsysCosUserOrlrsResourceParentUserOrlrs OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to a positive value indicates the 
         etsysCosUserOrlrsResourceUserOrlrsNum to be used in 
         conjunction with this setting. A value of (-1) indicates the 
         parent UserRlRs is not configured."
    DEFVAL { -1 }
    ::= { etsysCosUserOrlrsResourceEntry 4 }

etsysCosUserOrlrsResourceType OBJECT-TYPE
    SYNTAX      EtsysRateLimitingType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The characteristics applied to this rate limiter(or shaper). 
         When chaining is used, the AND / OR attribute denotes the 
         limiter(or shaper) logic in handling violation. For example,
         option rePrioritizeAnd(2) requires that the current limiter AND 
         it's parent be violated for the packet to be reprioritized. The 
         rePrioritizeOr(3) option only needs one OR the other to be 
         violated for the action to be taken."
    ::= { etsysCosUserOrlrsResourceEntry 5 }

etsysCosUserOrlrsResourceActionCosIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object will represent the CoS to be applied to packets
         in violation of the limits set when the 
         etsysCosUserOrlrsResourceType is set to one of the 
         rePrioritize types."
    DEFVAL { -1 }
    ::= { etsysCosUserOrlrsResourceEntry 6 }

etsysCosUserOrlrsResourceAction OBJECT-TYPE
    SYNTAX      EtsysViolationAction
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object allows syslog, SNMP traps, or disabling actions
         to be taken when limiters (shapers) are first exceeded."
    ::= { etsysCosUserOrlrsResourceEntry 7 }

etsysCosUserOrlrsResourceViolationPortList OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The dot1dBridge ports this limiter(or shaper) has been violated on.
         Writing this object will clear the dot1dBridge ports given
         which have a corresponding bit of zero (0) in the PortList."
    ::= { etsysCosUserOrlrsResourceEntry 8 }

etsysCosUserOrlrsResourceClearCounters OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "This object shall always read false(2). When set to true(1) 
         this object clears the counter associated with this entry, if 
         the associated entry is a limiter(or shaper) of type count(5)."
    ::= { etsysCosUserOrlrsResourceEntry 9 }
    
etsysCosUserOrlrsResourceMode OBJECT-TYPE
    SYNTAX      EtsysCosRlModes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "This object will represent the type of limiter or shaper that this 
         object is currently configured to."
    ::= { etsysCosUserOrlrsResourceEntry 10 }


-- -------------------------------------------------------------
-- etsysCosUserOrlrsReferenceMappingTable
-- -------------------------------------------------------------

etsysCosUserOrlrsReferenceMappingMaxReference OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of etsysCosUserOrlrsReferences allowed in the
         etsysCosUserOrlrsMappingTable."
    ::= { etsysCosUserOrlrs 9 }

etsysCosUserOrlrsReferenceMappingLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosUserOrlrsReferenceMappingTable was 
         last modified."
    ::= { etsysCosUserOrlrs 10 }

etsysCosUserOrlrsReferenceMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserOrlrsReferenceMap
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the user defined mappings of the 
         user rate limiter(or shaper) refences found in the etsysCosTable to 
         actual user rate limiters(or shapers) associated with the specified 
         port-group."
    ::= { etsysCosUserOrlrs 11 }
    
etsysCosUserOrlrsReferenceMappingEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserOrlrsReferenceMap
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserOrlrsReferenceMappingTable. Entries within this table 
         MUST be considered non-volatile and MUST be maintained across 
         entity resets."
    INDEX  { etsysCosUserOrlrsPortGroupIndex,
             etsysCosUserOrlrsPortTypeIndex, 
             etsysCosUserOrlrsReference }
    ::= { etsysCosUserOrlrsReferenceMappingTable 1 }

EtsysCosUserOrlrsReferenceMap ::=
    SEQUENCE {
        etsysCosUserOrlrsResourceUserOrlrsNumber
            Integer32
    }

etsysCosUserOrlrsResourceUserOrlrsNumber OBJECT-TYPE
    SYNTAX      Integer32 (-1|0..32767)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The user rate limiter(or shaper) bound to this reference."
    ::= { etsysCosUserOrlrsReferenceMappingEntry 1 }


-- -------------------------------------------------------------
-- etsysCosUserOrlrsViolationTable
-- -------------------------------------------------------------

etsysCosUserOrlrsViolationClearTable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object SHALL always read false. Setting this object to 
         true removes all existing entries from the
         etsysCosUserOrlrsViolationTable."
    ::= { etsysCosUserOrlrs 12 }

etsysCosUserOrlrsViolationLastChange OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the etsysCosUserOrlrsViolationTable was last 
         modified."
    ::= { etsysCosUserOrlrs 13 }

etsysCosUserOrlrsViolationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysCosUserOrlrsViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the list of entries of all users as classified by
         etsysPolicyRules that have detected violations of the 
         limiters(or shapers) current settings."
    ::= { etsysCosUserOrlrs 15 }

etsysCosUserOrlrsViolationEntry OBJECT-TYPE
    SYNTAX      EtsysCosUserOrlrsViolationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conceptually defines a particular entry within the
         etsysCosUserOrlrsViolationTable."
    INDEX  { etsysPolicyRuleType, etsysPolicyRuleData, 
             etsysPolicyRulePrefixBits, etsysPolicyRulePortType, 
             etsysPolicyRulePort, etsysCosUserIrlrsResourceUserIrlrsNumber
           }
    ::= { etsysCosUserOrlrsViolationTable 1 }

EtsysCosUserOrlrsViolationEntry ::=
    SEQUENCE {
        etsysCosUserOrlrsViolation
            TruthValue,
        etsysCosUserOrlrsCounter
            Counter64,
        etsysCosUserOrlrsResetFlags
            EtsysRateLimitResetBits
    }
    
etsysCosUserOrlrsViolation OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object represents the violation status for this 
         limiter(or shaper). If this object reads true(1) the action
         associated with this UserOrlrs have been taken."
    ::= { etsysCosUserOrlrsViolationEntry 5 }

etsysCosUserOrlrsCounter OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "In order for this object to have meaningful information the 
         assigned limiter must be set up as a counter type limiter.
         This value shall then represent the number of configured units
         the limiter has recorded. If the associated limiter 
         is of type pps(0) then the object represents the packets 
         counted, otherwise it represents the octets counted."
    ::= { etsysCosUserOrlrsViolationEntry 6 }

etsysCosUserOrlrsResetFlags OBJECT-TYPE
    SYNTAX      EtsysRateLimitResetBits
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value shall always read as 0. This object clears the 
         statistics gathering portion of this entry. If bit 0 is set, 
         the etsysCosUserOrlrsViolation TruthValue will be reset to false. If
         bit 1 is set, the etsysCosUserOrlrsUnitCounter will be reset to zero.
         Both bits set shall clear both properties."
    ::= { etsysCosUserOrlrsViolationEntry 7 }

-- -------------------------------------------------------------
-- Notifications
-- -------------------------------------------------------------

etsysCosIrlExceededNotification NOTIFICATION-TYPE
    OBJECTS { ifName, etsysCosIrlViolation }
    STATUS  current
    DESCRIPTION
        "This notification indicates an inbound limiter has been 
         exceeded."
    ::= { etsysCosNotifications 1 }

etsysCosOrlExceededNotification NOTIFICATION-TYPE
    OBJECTS { ifName, etsysCosOrlViolation }
    STATUS  current
    DESCRIPTION
        "This notification indicates an outbound limiter has been 
         exceeded."
    ::= { etsysCosNotifications 2 }

etsysCosFloodLimitExceededNotification NOTIFICATION-TYPE
    OBJECTS { ifName, etsysCosFloodCtrlViolation }
    STATUS  current
    DESCRIPTION
        "This notification indicates an inbound flood limiter has been 
         exceeded."
    ::= { etsysCosNotifications 3 }

etsysCosUserIrlrsLimitExceededNotification NOTIFICATION-TYPE
    OBJECTS { ifName, etsysCosUserIrlrsViolation }
    STATUS  current
    DESCRIPTION
        "This notification indicates an inbound user rate limiter/shaper 
         has been exceeded."
    ::= { etsysCosNotifications 4 }

etsysCosUserOrlrsLimitExceededNotification NOTIFICATION-TYPE
    OBJECTS { ifName, etsysCosUserOrlrsViolation }
    STATUS  current
    DESCRIPTION
        "This notification indicates an outbound user rate limiter/shaper 
         has been exceeded."
    ::= { etsysCosNotifications 5 }

-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysCosConformance OBJECT IDENTIFIER ::= { etsysCosMIB 2 }

etsysCosGroups OBJECT IDENTIFIER
    ::= { etsysCosConformance 1 }

etsysCosCompliances OBJECT IDENTIFIER
    ::= { etsysCosConformance 2 }


-- -------------------------------------------------------------
-- Units of Conformance
-- -------------------------------------------------------------

etsysCosMasterResetGroup OBJECT-GROUP
    OBJECTS {
                etsysCosMibObjectAnullingBehavior
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing a mechanism of resetting
         all objects back to an unconfigured state."
    ::= { etsysCosGroups 1 }

etsysCosCapabilitiesGroup OBJECT-GROUP
    OBJECTS {
                etsysCosCapability
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing the capability extent for 
         the agent supporting this MIB."
    ::= { etsysCosGroups 2 }

etsysCosGroup OBJECT-GROUP
    OBJECTS {
                etsysCosMaxEntries,
                etsysCosNumEntries,
                etsysCosLastChange,
                etsysCosEnableState,
                etsysCosRowStatus,
                etsysCos8021dPriority,
                etsysCosTosValue,
                etsysCosTxqReference,
                etsysCosIrlReference,
                etsysCosOrlReference,
                etsysCosDropPrecedence,
                etsysCosUserIrlrsReference,
                etsysCosUserOrlrsReference
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing the support capacity and 
         capability extent for the agent supporting this MIB. The
         object etsysCosDropPrecedence is part of a required
         group however its access may be restricted to read-only for
         agents without the ability to support this feature and still
         wish to implement this MIB."
    ::= { etsysCosGroups 3 }

etsysCosTxqGroup OBJECT-GROUP
    OBJECTS {
                etsysCosTxqReference,
                etsysCosTxqNumPortTypes,
                etsysCosTxqPortTypeDescr,
                etsysCosTxqPortTypeEligiblePorts,
                etsysCosTxqPortTypeUnselectedPorts,
                etsysCosTxqPortTypeNumberOfQueues,
                etsysCosTxqPortTypeSupportedRateTypes,
                etsysCosTxqPortTypeNumberOfSlices,
                etsysCosTxqPortTypeQueueAlgorithms,
                etsysCosTxqPortTypeQueueArbiterModes,
                etsysCosTxqPortTypeMaxDropPrecedence,
                etsysCosTxqPortTypeLLQEligibleQueues,
                etsysCosTxqUnitMaxRate,
                etsysCosTxqUnitMinRate,
                etsysCosTxqUnitGranularity,
                etsysCosTxqMaxPortGroups,
                etsysCosTxqNumPortGroups,
                etsysCosTxqPortGroupLastChange,
                etsysCosTxqPortGroupRowStatus,
                etsysCosTxqPortGroupList,
                etsysCosTxqPortGroupName,
                etsysCosTxqPortArbMode,
                etsysCosTxqPortSliceSetting,
                etsysCosTxqPortEnhancedTransMaxGroups,
                etsysCosTxqPortEnhancedTransGroupId,
                etsysCosTxqPortEnhancedTransBandwidth,
                etsysCosTxqPortEnhancedTransGroupToDcbxTC,
                etsysCosTxqPortEnhancedTransPriorityToDcbxTC,
                etsysCosTxqPortQUnit,
                etsysCosTxqPortQRate,
                etsysCosTxqPortQAlgorithm,
                etsysCosTxqPortQLLQenable,
                etsysCosTxqReferenceMappingMaxReference,
                etsysCosTxqResourceQueueNumber,
                etsysCosTxqDropProfilesMaxEntries,
                etsysCosTxqDropProfilesNumEntries,
                etsysCosTxqDropProfilesLastChange,
                etsysCosTxqDropProfilesRowStatus,
                etsysCosTxqDropProfilesMin,
                etsysCosTxqDropProfilesMax,
                etsysCosTxqDropProfilesMaxDropProb,
                etsysCosTxqDropProfilesQueueDepthAtMaxProb,
                etsysCosTxqDropProfileQueueCfgID
    }
    STATUS      deprecated
    DESCRIPTION
        "A collection of objects required for creating and modifying
         settings for transmit queue configurations."
    ::= { etsysCosGroups 4 }

etsysCosIrlGroup OBJECT-GROUP
    OBJECTS {
                etsysCosIrlReference,
                etsysCosIrlPortTypeMaxEntries,
                etsysCosIrlPortTypeDescr,
                etsysCosIrlPortTypeEligiblePorts,
                etsysCosIrlPortTypeUnselectedPorts,
                etsysCosIrlPortTypeNumberOfIRLs,
                etsysCosIrlPortTypeCapabilities,
                etsysCosIrlPortTypeSupportedRateTypes,
                etsysCosIrlUnitMaxRate,
                etsysCosIrlUnitMinRate,
                etsysCosIrlUnitGranularity,
                etsysCosIrlPortGroupMaxEntries,
                etsysCosIrlPortGroupNumEntries,
                etsysCosIrlPortGroupLastChange,
                etsysCosIrlPortGroupRowStatus,
                etsysCosIrlPortGroupList,
                etsysCosIrlPortGroupName,
                etsysCosIrlPortCfgFloodLimiter,
                etsysCosIrlResourceIrlNumber,
                etsysCosIrlResourceUnits,
                etsysCosIrlResourceRate,
                etsysCosIrlResourceParentIrl,
                etsysCosIrlResourceActionCosIndex,
                etsysCosIrlResourceType,
                etsysCosIrlResourceAction,
                etsysCosIrlResourceViolationPortList,
                etsysCosIrlResourceClearCounters,
                etsysCosIrlReferenceMappingMaxReference,
                etsysCosIrlReferenceMappingLastChange,
                etsysCosIrlViolationLastChange,
                etsysCosIrlDisabledPortsList,
                etsysCosIrlViolation,
                etsysCosIrlViolationClearTable,
                etsysCosIrlCounter,
                etsysCosIrlResetFlags
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects required for creating and modifying
         settings for inbound rate limiter configurations."
    ::= { etsysCosGroups 5 }

etsysCosOrlGroup OBJECT-GROUP
    OBJECTS {
                etsysCosOrlReference,
                etsysCosOrlPortTypeMaxEntries,
                etsysCosOrlPortTypeDescr,
                etsysCosOrlPortTypeEligiblePorts,
                etsysCosOrlPortTypeUnselectedPorts,
                etsysCosOrlPortTypeNumberOfORLs,
                etsysCosOrlPortTypeCapabilities,
                etsysCosOrlPortTypeSupportedRateTypes,
                etsysCosOrlUnitMaxRate,
                etsysCosOrlUnitMinRate,
                etsysCosOrlUnitGranularity,
                etsysCosOrlPortGroupMaxEntries,
                etsysCosOrlPortGroupNumEntries,
                etsysCosOrlPortGroupLastChange,
                etsysCosOrlPortGroupRowStatus,
                etsysCosOrlPortGroupList,
                etsysCosOrlPortGroupName,
                etsysCosOrlPortCfgFloodLimiter,
                etsysCosOrlResourceOrlNumber,
                etsysCosOrlResourceUnits,
                etsysCosOrlResourceRate,
                etsysCosOrlResourceParentOrl,
                etsysCosOrlResourceActionCosIndex,
                etsysCosOrlResourceType,
                etsysCosOrlResourceAction,
                etsysCosOrlResourceViolationPortList,
                etsysCosOrlResourceClearCounters,
                etsysCosOrlReferenceMappingMaxReference,
                etsysCosOrlReferenceMappingLastChange,
                etsysCosOrlViolationLastChange,
                etsysCosOrlDisabledPortsList,
                etsysCosOrlViolation,
                etsysCosOrlViolationClearTable,
                etsysCosOrlCounter,
                etsysCosOrlResetFlags
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects required for creating and modifying
         settings for outbound rate limiter configurations."
    ::= { etsysCosGroups 6 }

etsysCosNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
                etsysCosIrlExceededNotification,
                etsysCosOrlExceededNotification
    }
    STATUS      deprecated
    DESCRIPTION
        "A collection of objects required for reporting rate limiter
         violations."
    ::= { etsysCosGroups 7 }


etsysCosUserIrlrsGroup OBJECT-GROUP
    OBJECTS {
                etsysCosUserIrlrsReference,
                etsysCosUserIrlrsPortTypeMaxEntries,
                etsysCosUserIrlrsPortTypeDescr,
                etsysCosUserIrlrsPortTypeEligiblePorts,
                etsysCosUserIrlrsPortTypeUnselectedPorts,
                etsysCosUserIrlrsPortTypeNumberOfUserRlRss,
                etsysCosUserIrlrsPortTypeCapabilities,
                etsysCosUserIrlrsPortTypeModes,
                etsysCosUserIrlrsPortTypeSupportedRateTypes,
                etsysCosUserIrlrsUnitMaxRate,
                etsysCosUserIrlrsUnitMinRate,
                etsysCosUserIrlrsUnitGranularity,
                etsysCosUserIrlrsPortGroupMaxEntries,
                etsysCosUserIrlrsPortGroupNumEntries,
                etsysCosUserIrlrsPortGroupLastChange,
                etsysCosUserIrlrsPortGroupRowStatus,
                etsysCosUserIrlrsPortGroupList,
                etsysCosUserIrlrsPortGroupName,
                etsysCosUserIrlrsResourceUserIrlrsNumber,
                etsysCosUserIrlrsResourceUnits,
                etsysCosUserIrlrsResourceRate,
                etsysCosUserIrlrsResourceParentUserIrlrs,
                etsysCosUserIrlrsResourceActionCosIndex,
                etsysCosUserIrlrsResourceType,
                etsysCosUserIrlrsResourceAction,
                etsysCosUserIrlrsResourceViolationPortList,
                etsysCosUserIrlrsResourceClearCounters,
                etsysCosUserIrlrsResourceMode,
                etsysCosUserIrlrsReferenceMappingMaxReference,
                etsysCosUserIrlrsReferenceMappingLastChange,
                etsysCosUserIrlrsViolationLastChange,
                etsysCosUserIrlrsViolation,
                etsysCosUserIrlrsViolationClearTable,
                etsysCosUserIrlrsCounter,
                etsysCosUserIrlrsResetFlags
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects required for creating and modifying
         settings for inbound user rate limiter configurations."
    ::= { etsysCosGroups 8 }

etsysCosUserOrlrsGroup OBJECT-GROUP
    OBJECTS {
                etsysCosUserOrlrsReference,
                etsysCosUserOrlrsPortTypeMaxEntries,
                etsysCosUserOrlrsPortTypeDescr,
                etsysCosUserOrlrsPortTypeEligiblePorts,
                etsysCosUserOrlrsPortTypeUnselectedPorts,
                etsysCosUserOrlrsPortTypeNumberOfUserRlRss,
                etsysCosUserOrlrsPortTypeCapabilities,
                etsysCosUserOrlrsPortTypeModes,
                etsysCosUserOrlrsPortTypeSupportedRateTypes,
                etsysCosUserOrlrsUnitMaxRate,
                etsysCosUserOrlrsUnitMinRate,
                etsysCosUserOrlrsUnitGranularity,
                etsysCosUserOrlrsPortGroupMaxEntries,
                etsysCosUserOrlrsPortGroupNumEntries,
                etsysCosUserOrlrsPortGroupLastChange,
                etsysCosUserOrlrsPortGroupRowStatus,
                etsysCosUserOrlrsPortGroupList,
                etsysCosUserOrlrsPortGroupName,
                etsysCosUserOrlrsResourceUserOrlrsNumber,
                etsysCosUserOrlrsResourceUnits,
                etsysCosUserOrlrsResourceRate,
                etsysCosUserOrlrsResourceParentUserOrlrs,
                etsysCosUserOrlrsResourceActionCosIndex,
                etsysCosUserOrlrsResourceType,
                etsysCosUserOrlrsResourceAction,
                etsysCosUserOrlrsResourceViolationPortList,
                etsysCosUserOrlrsResourceClearCounters,
                etsysCosUserOrlrsResourceMode,
                etsysCosUserOrlrsReferenceMappingMaxReference,
                etsysCosUserOrlrsReferenceMappingLastChange,
                etsysCosUserOrlrsViolationLastChange,
                etsysCosUserOrlrsViolation,
                etsysCosUserOrlrsViolationClearTable,
                etsysCosUserOrlrsCounter,
                etsysCosUserOrlrsResetFlags
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects required for creating and modifying
         settings for outbound user rate limiter configurations."
    ::= { etsysCosGroups 9 }

etsysCosNotificationGroup2 NOTIFICATION-GROUP
    NOTIFICATIONS {
                etsysCosIrlExceededNotification,
                etsysCosOrlExceededNotification,
                etsysCosFloodLimitExceededNotification,
                etsysCosUserIrlrsLimitExceededNotification,
                etsysCosUserOrlrsLimitExceededNotification
   }
    STATUS      current
    DESCRIPTION
        "A collection of objects required for reporting rate limiter
         violations."
    ::= { etsysCosGroups 10 }

etsysCosTxqGroup2 OBJECT-GROUP
    OBJECTS {
                etsysCosTxqReference,
                etsysCosTxqNumPortTypes,
                etsysCosTxqPortTypeDescr,
                etsysCosTxqPortTypeEligiblePorts,
                etsysCosTxqPortTypeUnselectedPorts,
                etsysCosTxqPortTypeNumberOfQueues,
                etsysCosTxqPortTypeSupportedRateTypes,
                etsysCosTxqPortTypeNumberOfSlices,
                etsysCosTxqPortTypeQueueAlgorithms,
                etsysCosTxqPortTypeQueueArbiterModes,
                etsysCosTxqPortTypeMaxDropPrecedence,
                etsysCosTxqPortTypeLLQEligibleQueues,
                etsysCosTxqUnitMaxRate,
                etsysCosTxqUnitMinRate,
                etsysCosTxqUnitGranularity,
                etsysCosTxqMaxPortGroups,
                etsysCosTxqNumPortGroups,
                etsysCosTxqPortGroupLastChange,
                etsysCosTxqPortGroupRowStatus,
                etsysCosTxqPortGroupList,
                etsysCosTxqPortGroupName,
                etsysCosTxqPortArbMode,
                etsysCosTxqPortSliceSetting,
                etsysCosTxqPortEnhancedTransMaxGroups,
                etsysCosTxqPortEnhancedTransGroupId,
                etsysCosTxqPortEnhancedTransBandwidth,
                etsysCosTxqPortEnhancedTransGroupToDcbxTC,
                etsysCosTxqPortEnhancedTransPriorityToDcbxTC,
                etsysCosTxqPortQUnit,
                etsysCosTxqPortQRate,
                etsysCosTxqPortQAlgorithm,
                etsysCosTxqPortQLLQenable,
                etsysCosTxqPortQMinRate,
                etsysCosTxqReferenceMappingMaxReference,
                etsysCosTxqResourceQueueNumber,
                etsysCosTxqDropProfilesMaxEntries,
                etsysCosTxqDropProfilesNumEntries,
                etsysCosTxqDropProfilesLastChange,
                etsysCosTxqDropProfilesRowStatus,
                etsysCosTxqDropProfilesMin,
                etsysCosTxqDropProfilesMax,
                etsysCosTxqDropProfilesMaxDropProb,
                etsysCosTxqDropProfilesQueueDepthAtMaxProb,
                etsysCosTxqDropProfileQueueCfgID
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects required for creating and modifying
         settings for transmit queue configurations."
    ::= { etsysCosGroups 11 }
 
-- -------------------------------------------------------------
-- compliance statements
-- -------------------------------------------------------------

etsysCosCompliance MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "The compliance statement for devices that support Enterasys
         class of service."
    MODULE -- this module
    MANDATORY-GROUPS { etsysCosMasterResetGroup,
                       etsysCosCapabilitiesGroup,
                       etsysCosGroup
    }
    GROUP etsysCosTxqGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         associated with the CTRON-TX-QUEUE-ARBITRATION-MIB."
    GROUP etsysCosIrlGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for inbound rate limiting."
    GROUP etsysCosOrlGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for outbound rate limiting."
    GROUP etsysCosNotificationGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for rate limiting and the ability to send traps."
    ::= { etsysCosCompliances 1 }
    
etsysCosCompliance2 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "The compliance statement for devices that support Enterasys
         class of service."
    MODULE -- this module
    MANDATORY-GROUPS { etsysCosMasterResetGroup,
                       etsysCosCapabilitiesGroup,
                       etsysCosGroup
    }
    GROUP etsysCosTxqGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         associated with the CTRON-TX-QUEUE-ARBITRATION-MIB."
    GROUP etsysCosIrlGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for inbound rate limiting."
    GROUP etsysCosOrlGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for outbound rate limiting."
    GROUP etsysCosNotificationGroup2
    DESCRIPTION
        "An optional group for products that support the abilities
         for rate limiting and the ability to send traps."
    GROUP etsysCosUserIrlrsGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for inbound user rate limiting/shaping."
    GROUP etsysCosUserOrlrsGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for outbound user rate limiting/shaping."
    ::= { etsysCosCompliances 2 }

etsysCosCompliance3 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for devices that support Extreme
         Networks class of service."
    MODULE -- this module
    MANDATORY-GROUPS { etsysCosMasterResetGroup,
                       etsysCosCapabilitiesGroup,
                       etsysCosGroup
    }
    GROUP etsysCosTxqGroup2
    DESCRIPTION
        "An optional group for products that support the abilities
         associated with the CTRON-TX-QUEUE-ARBITRATION-MIB."
    GROUP etsysCosIrlGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for inbound rate limiting."
    GROUP etsysCosOrlGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for outbound rate limiting."
    GROUP etsysCosNotificationGroup2
    DESCRIPTION
        "An optional group for products that support the abilities
         for rate limiting and the ability to send traps."
    GROUP etsysCosUserIrlrsGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for inbound user rate limiting/shaping."
    GROUP etsysCosUserOrlrsGroup
    DESCRIPTION
        "An optional group for products that support the abilities
         for outbound user rate limiting/shaping."
    ::= { etsysCosCompliances 3 }

END

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

ENTERASYS-MAC-AUTHENTICATION-MIB DEFINITIONS ::= BEGIN

--  enterasys-mac-authentication-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Extreme
--  Networks' MAC-Authentication.

--
--  This module will be extended, as needed.

--  Extreme Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Extreme Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Extreme Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Extreme
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Extreme Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Extreme Networks products.

--  Copyright December, 2014 Extreme Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32 
        FROM SNMPv2-SMI
    MacAddress, TruthValue, RowStatus
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    InterfaceIndex
        FROM IF-MIB
    EnabledStatus
        FROM P-BRIDGE-MIB
    PortList
        FROM Q-BRIDGE-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES;

etsysMACAuthenticationMIB MODULE-IDENTITY
    LAST-UPDATED "201412191051Z"  --  Fri Dec 19 9:30 UTC 2014

    ORGANIZATION "Extreme Networks, Inc"
    CONTACT-INFO
        "Postal:  Extreme Networks, Inc.
                  145 Rio Robles
                  San Jose, CA 95134 USA

         Phone:   +1 408 579-2800
         E-mail:  support@extremenetworks.com
         WWW:     http://www.extremenetworks.com"

    DESCRIPTION
        "This MIB module defines a portion of the SNMP enterprise
         MIBs under Enterasys Networks' enterprise OID pertaining to
         MAC-Authentication.

         This MIB was designed to be used for authentication using
         source MAC addresses received in traffic on ports under
         control of MAC-authentication.

         The security afforded by this approach is neither the primary
         concern nor intent of this MIB.  Rather, this MIB provides
         a convenient method of associating policy with MAC
         addresses and applying that policy when the MAC address
         appears on a pre-approved port in the network.

         The term MAC-Authentication is used because an authentication
         backend mechanism is used to allow the MAC onto the network,
         as well as provide authorization information to the switch."

    REVISION    "201412191051Z"  --  Fri Dec 19 9:30 UTC 2014
    DESCRIPTION "Added MAC List configuration."

    REVISION    "201412051051Z"  --  Fri Dec 05 10:50 UTC 2014
    DESCRIPTION "Added macList mode to etsysMACAuthenticationMode."

    REVISION    "201412031200Z"  --  Wed Dec 03 13:51 UTC 2014
    DESCRIPTION "Added etsysMACAuthenticationSystemUserNameFormat."

    REVISION    "201305171510Z"  -- Fri May 17 15:10 UTC 2013
    DESCRIPTION "Added account enable and disable."

    REVISION    "201301311334Z"  -- Thu Jan 31 13:34 UTC 2013
    DESCRIPTION "Added the etsysMACAuthenticationMode object."

    REVISION    "200207181812Z"  -- Thu Jul 18 18:12 GMT 2002
    DESCRIPTION "The initial version of this MIB module"

    ::= { etsysModules 25 }

etsysMACAuthenticationObjects
        OBJECT IDENTIFIER ::= { etsysMACAuthenticationMIB 1 }

-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- Branches of the Extreme MAC Authentication MIB
-- -------------------------------------------------------------

etsysMACAuthenticationSystem
        OBJECT IDENTIFIER ::= { etsysMACAuthenticationObjects 1 }

etsysMACAuthenticationPortConfig
        OBJECT IDENTIFIER ::= { etsysMACAuthenticationObjects 2 }

etsysMACAuthenticationMACConfig
        OBJECT IDENTIFIER ::= { etsysMACAuthenticationObjects 3 }

etsysMACAuthenticationMACSession
        OBJECT IDENTIFIER ::= { etsysMACAuthenticationObjects 4 }

etsysMACAuthenticationMACListConfig
        OBJECT IDENTIFIER ::= { etsysMACAuthenticationObjects 5 }


-- -------------------------------------------------------------
-- etsysMACAuthenticationSystemGroup
-- -------------------------------------------------------------

etsysMACAuthenticationSystemEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When enabled(1), all objects in this MIB are fully active.
         When disabled(2), this object overrides all other object
         settings in this MIB without affecting their values."
    DEFVAL { disabled }
    ::= { etsysMACAuthenticationSystem 1 }

etsysMACAuthenticationMACUserPassword OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "*** This object is deprecated in favor of     *** 
         *** the functionality provided by the         ***
         *** etsysMACAuthenticationMACListConfig group *** 

         This is the string to be used as a password credential
         when authenticating a MAC address when 
         etsysMACAuthenticationMode is set to password(1)."
    DEFVAL { "NOPASSWORD" }
    ::= { etsysMACAuthenticationSystem 2 }

etsysMACAuthenticationPortUserNameSignificantBits OBJECT-TYPE
    SYNTAX      INTEGER (1..48)
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "*** This object is deprecated in favor of     *** 
         *** the functionality provided by the         ***
         *** etsysMACAuthenticationMACListConfig group *** 

         This object represents the number of significant bits in the
         MAC addresses to be used starting with the left-most bit of
         the vendor portion of the MAC address. The significant portion
         of the MAC address is sent as a user-name credential when the
         primary attempt to authenticate the full MAC address fails.
         Any other failure to authenticate the full address, (i.e.
         authentication server timeout) causes the the next attempt to
         start once again with a full MAC authentication."
    DEFVAL { 48 }
    ::= { etsysMACAuthenticationSystem 3 }

etsysMACAuthenticationMode OBJECT-TYPE
    SYNTAX      INTEGER {
                  password(1),
                  radiusUsername(2),
                  macList(3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object selects the credentials to use when authenticating 
         a MAC address.

         password(1)       - Attempt to authenticate a user with the 
                           password credential provided by 
                           etsysMACAuthenticationMACUserPassword.

         radiusUsername(2) - Attempt to authenticate a user with a password
                           credential that is the same as the radius 
                           username credential.     

         macList(3)        - Attempt to authenticate a user with credentials 
                           provided by mac-list configuration." 
    DEFVAL { macList }
    ::= { etsysMACAuthenticationSystem 4 }

etsysMACAuthenticationSystemAccountEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When enabled(1), RADIUS accounting start, interim and 
         stop frames are sent to the configured RADIUS server(s).
         
         When disabled(2), accounting packets are not sent to 
         the RADIUS server."
    DEFVAL { enabled }
    ::= { etsysMACAuthenticationSystem 5 }

etsysMACAuthenticationSystemUserNameFormat OBJECT-TYPE
    SYNTAX      INTEGER {
                  hyphen(1),
                  none(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "When hyphen(1), the user-name credential is the 
         MAC address formatted as 'xx-xx-xx-xx-xx-xx'.
         
         When set to none(2), the user-name credential is the 
         MAC address formatted as 'xxxxxxxxxxxx'."
    DEFVAL { none }
    ::= { etsysMACAuthenticationSystem 6 }

-- -------------------------------------------------------------
-- etsysMACAuthenticationPortConfigGroup
-- -------------------------------------------------------------

etsysMACAuthenticationPortConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysMACAuthenticationPortConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing configuration objects for each MAC
         authentication port. The configuration for
         each port in this table must be non-volatile."
    ::= { etsysMACAuthenticationPortConfig 1 }

etsysMACAuthenticationPortConfigEntry OBJECT-TYPE
    SYNTAX      EtsysMACAuthenticationPortConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each conceptual row provides control over all of the
         initial values used by each authenticated MAC on
         this port. Subsequent changes to rows in this table,
         except where noted, have no effect on existing MACs
         authenticated on this port."
    INDEX { etsysMACAuthenticationPort }
    ::= { etsysMACAuthenticationPortConfigTable 1 }

EtsysMACAuthenticationPortConfigEntry ::=
    SEQUENCE {
        etsysMACAuthenticationPort                      InterfaceIndex,
        etsysMACAuthenticationPortInitialize            TruthValue,
        etsysMACAuthenticationPortReauthenticate        TruthValue,
        etsysMACAuthenticationPortEnable                EnabledStatus,
        etsysMACAuthenticationPortQuietPeriod           Unsigned32,
        etsysMACAuthenticationPortReauthPeriod          Unsigned32,
        etsysMACAuthenticationPortReauthEnabled         EnabledStatus,
        etsysMACAuthenticationAuthenticationsAllowed    Unsigned32,
        etsysMACAuthenticationAuthenticationsAllocated  Unsigned32,
        etsysMACAuthenticationLastFailedAuthCause       SnmpAdminString
    }

etsysMACAuthenticationPort OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This is the InterfaceIndex associated with this row."
    ::= { etsysMACAuthenticationPortConfigEntry 1 }

etsysMACAuthenticationPortInitialize OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When set to true(1), the MAC authentication logic on this
         port is initialized, forcibly ending all MAC authentication
         sessions currently in existence on this port.  A set with
         the value false(2) has no affect and a read always returns
         false."
    ::= { etsysMACAuthenticationPortConfigEntry 2 }

etsysMACAuthenticationPortReauthenticate OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When set to true(1), the MAC authentication entity on
         this port is required to immediately verify all currently
         authenticated MACs on this port. This requires that each
         MAC address be authenticated with the authentication server
         through the local authentication client or some other
         authentication mechanism. Each supplicant remains
         authenticated pending the outcome."
    ::= { etsysMACAuthenticationPortConfigEntry 3 }

etsysMACAuthenticationPortEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When set to enabled(1), a platform dependent triggering
         mechanism initiates an authentication exchange using a
         MAC address for authentication credentials.
         When disabled(2), authentication attempts are disabled
         and all currently authenticated MAC sessions or those in
         the process of authentication on this port are terminated."
    DEFVAL { disabled }
    ::= { etsysMACAuthenticationPortConfigEntry 4 }

etsysMACAuthenticationPortQuietPeriod OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value, in seconds, following a failed authentication
         before another may be attempted on this port. This object
         allows network management to provide hysteresis for failed
         authentication requests from the same port."
    DEFVAL { 30 }
    ::= { etsysMACAuthenticationPortConfigEntry 5 }

etsysMACAuthenticationPortReauthPeriod OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value, in seconds, between attempts to re-authenticate
         any current MAC authenticated on this port."
    DEFVAL { 3600 }
    ::= { etsysMACAuthenticationPortConfigEntry 6 }

etsysMACAuthenticationPortReauthEnabled OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If enabled(1), then every etsysMACAuthenticationReauthPeriod
         the switch attempts to validate all currently authenticated
         MACs on this port. When set to disabled(2) all current
         re-authentications in progress are allowed to complete and
         the requisite actions are taken. When set to disabled(2), no
         further re-authentications are attempted."
    DEFVAL { disabled }
    ::= { etsysMACAuthenticationPortConfigEntry 7 }

etsysMACAuthenticationAuthenticationsAllowed OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of concurrent authentications supported
         on this port on this module. The default value of this
         object is platform and resource dependent."
    ::= { etsysMACAuthenticationPortConfigEntry 8 }

etsysMACAuthenticationAuthenticationsAllocated OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum number of MAC authentications permitted on this
         port on this module. This value must be non-zero and be less
         than or equal to the value of
         etsysMACAuthenticationAuthenticationsAllowed.  Setting this
         object to a value less than the current number of authenticated
         MACs on this port prevents further authentications, but has no
         affect on the current sessions."
    ::= { etsysMACAuthenticationPortConfigEntry 9 }

etsysMACAuthenticationLastFailedAuthCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The string will be formatted with
       'XX-XX-XX-XX-XX-XX: TIME&DATE: Textual failure reason';
        where XX-XX-XX-XX-XX-XX is the MAC address and TIME&DATE
        is the time (hh/mm/ss) and date (mm/dd/yyyy) of the failure.
        It is also only best effort; as there could be multiple
        failures per port and the agent may query this at any random
        time."
    ::= { etsysMACAuthenticationPortConfigEntry 10 }


-- -------------------------------------------------------------
-- etsysMACAuthenticationMACConfigGroup
-- -------------------------------------------------------------

etsysMACAuthenticationMACConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysMACAuthenticationMACConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing configuration objects for each MAC
         authenticated on a port. Each row in this table
         is created dynamically when a MAC authenticates
         on a port."
    ::= { etsysMACAuthenticationMACConfig 1 }

etsysMACAuthenticationMACConfigEntry OBJECT-TYPE
    SYNTAX      EtsysMACAuthenticationMACConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each conceptual row inherits it's initial information
         from the row in the etsysMACAuthenticationPortConfigTable
         corresponding to the correct port. Each row represents an
         authenticated MAC."
    INDEX { etsysMACAuthenticationMACAddress }
    ::= { etsysMACAuthenticationMACConfigTable 1 }

EtsysMACAuthenticationMACConfigEntry::=
    SEQUENCE {
        etsysMACAuthenticationMACAddress                MacAddress,
        etsysMACAuthenticationSupplicantPort            InterfaceIndex,
        etsysMACAuthenticationMACInitialize             TruthValue,
        etsysMACAuthenticationMACReauthenticate         TruthValue,
        etsysMACAuthenticationMACReauthPeriod           Unsigned32,
        etsysMACAuthenticationMACReauthEnabled          EnabledStatus
    }

etsysMACAuthenticationMACAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This is the MAC address that was authenticated on this port."
    ::= { etsysMACAuthenticationMACConfigEntry 1 }

etsysMACAuthenticationSupplicantPort OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the InterfaceIndex associated with this rows
         authenticated MAC."
    ::= { etsysMACAuthenticationMACConfigEntry 2 }

etsysMACAuthenticationMACInitialize OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When set to true(1), this MAC session terminates causing the
        corresponding row in this table and in the
        etsysMACAuthenticationSessionTable to be removed.

        Setting this object to false(2) has no effect on the system.
        Reads of this object always return false(2)."
    ::= { etsysMACAuthenticationMACConfigEntry 3 }

etsysMACAuthenticationMACReauthenticate OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When set to true(1), this MAC authentication session on this
         port is required to immediately verify it's credentials.
         This requires that each MAC address be authenticated with the
         authentication server through the local authentication client
         or some other authentication mechanism.

         Setting this object to false(2) has no effect on the system.
         Reads of this object always return false(2)."
    ::= { etsysMACAuthenticationMACConfigEntry 4 }

etsysMACAuthenticationMACReauthPeriod OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value, in seconds, between attempts to re-authenticate
         the MAC associated with this row."
    ::= { etsysMACAuthenticationMACConfigEntry 5 }

etsysMACAuthenticationMACReauthEnabled OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If enabled(1), then every etsysMACAuthenticationReauthPeriod
         the switch attempts to validate all currently authenticated
         MACs on this port. If disabled(2), reauthentication is
         not attempted."
    ::= { etsysMACAuthenticationMACConfigEntry 6 }


-- -------------------------------------------------------------
-- etsysMACAuthenticationSessionGroup
-- -------------------------------------------------------------

etsysMACAuthenticationSessionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysMACAuthenticationSessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing configuration objects for each MAC
         authentication on a port. The successful completion of
         an authentication causes the creation of a new row in
         this table. When a MAC becomes unauthenticated because
         of a link-down, a management change, or system
         re-initialization, then the corresponding row is removed
         from this table."
    ::= { etsysMACAuthenticationMACSession 1 }

etsysMACAuthenticationSessionEntry OBJECT-TYPE
    SYNTAX      EtsysMACAuthenticationSessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each conceptual row inherits it's initial information
         from the row in the etsysMACAuthenticationPortConfigTable
         corresponding to the correct port. Each row represents an
         authenticated MAC."
    INDEX { etsysMACAuthenticationMACAddress }
    ::= { etsysMACAuthenticationSessionTable 1 }

EtsysMACAuthenticationSessionEntry::=
    SEQUENCE {
        etsysMACAuthenticationSessionPort               InterfaceIndex,
        etsysMACAuthenticationDuration                  Unsigned32
    }

etsysMACAuthenticationSessionPort OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the InterfaceIndex associated with the authenticated
         MACs session."
    ::= { etsysMACAuthenticationSessionEntry 1 }

etsysMACAuthenticationDuration OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value, in seconds, which have elapsed since the start
         of this session."
    ::= { etsysMACAuthenticationSessionEntry 2 }

-- -------------------------------------------------------------
-- etsysMACAuthenticationMACListConfig
-- -------------------------------------------------------------

etsysMACAuthenticationMaxMACListEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum number of entries allowed in the 
         etsysMACAuthenticationMACListTable."
    ::= { etsysMACAuthenticationMACListConfig 1 }

etsysMACAuthenticationCurrentMACListEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of entries in the 
         etsysMACAuthenticationMACListTable."
    ::= { etsysMACAuthenticationMACListConfig 2 }

etsysMACAuthenticationMACListTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysMACAuthenticationMACListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table provides configuration objects for the
         MAC List functionality.

         When an unauthenticated MAC address is received a
         longest prefix search is performed. If more than  
         one match is made -- the one with the longest 
         mask length -- is called the longest prefix match. 

         Authentication is blocked when no match is found,
         or the matching entry's etsysMACAuthenticationMACListPorts 
         value is not the empty string and the ingress port is not 
         set in the list.

         To create a default entry that matches any MAC address,
         configure a row with a MAC address of all FFs and a 
         mask length of 48. 
         
         The user-name credential will be the portion 
         of the MAC address specified by 
         etsysMACAuthenticationMACListMaskLen.

         If the etsysMACAuthenticationMACListPassword is set,
         it will be used as the password credential for authentication.
         Otherwise, the user-name credential will be used as the 
         password credential."
    ::= { etsysMACAuthenticationMACListConfig 3 }

etsysMACAuthenticationMACListEntry OBJECT-TYPE
    SYNTAX      EtsysMACAuthenticationMACListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents an entry in the MAC List."
    INDEX { etsysMACAuthenticationMACListAddress, 
            etsysMACAuthenticationMACListMaskLen }
    ::= { etsysMACAuthenticationMACListTable 1 }

EtsysMACAuthenticationMACListEntry::=
    SEQUENCE {
        etsysMACAuthenticationMACListAddress       MacAddress,
        etsysMACAuthenticationMACListMaskLen       Unsigned32,
        etsysMACAuthenticationMACListPassword      SnmpAdminString,
        etsysMACAuthenticationMACListPasswordValid TruthValue, 
        etsysMACAuthenticationMACListPorts         PortList,
        etsysMACAuthenticationMACListRowStatus     RowStatus
    }

etsysMACAuthenticationMACListAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The MAC address to match."
    ::= { etsysMACAuthenticationMACListEntry 1 }

etsysMACAuthenticationMACListMaskLen OBJECT-TYPE
    SYNTAX      Unsigned32 (1..48)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object represents the number of significant bits in the
         MAC address to match starting with the left-most bit of
         the vendor portion of the MAC address. The significant portion
         of the MAC address is sent as a user-name credential." 
    ::= { etsysMACAuthenticationMACListEntry 2 }

etsysMACAuthenticationMACListPassword OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..48))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The password to use to authenticate the MAC address.
         On a read this object will always return an empty string."
    DEFVAL { "" }
    ::= { etsysMACAuthenticationMACListEntry 3 }

etsysMACAuthenticationMACListPasswordValid OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "true(1)  - indicates that etsysMACAuthenticationMACListPassword 
         was last set with some value other than the empty string.

         false(2) - indicates that etsysMACAuthenticationMACListPassword 
         has never been set, or was last set to the empty string. 
         In this case, the password used to authenticate will be the same 
         as the user-name credential."
    ::= { etsysMACAuthenticationMACListEntry 4 }

etsysMACAuthenticationMACListPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The set of ports to allow authentication on. If this object is  
         the empty string then authentication is allowed on all ports."
    DEFVAL { ''H }    -- the empty string
    ::= { etsysMACAuthenticationMACListEntry 5 }

etsysMACAuthenticationMACListRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The status of this row.  

         active(1)        -- Indicates that this entry is available
                             for use by the managed device. 
                             
         createAndGo(4)   -- A new entry will be created in this table
                             and the new entry will transition to the 
                             active state. 

         destroy(6)       -- Deletes this row. "
    ::= { etsysMACAuthenticationMACListEntry 6 }

-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysMACAuthenticationConformance
        OBJECT IDENTIFIER ::= { etsysMACAuthenticationMIB 2 }

etsysMACAuthenticationGroups
        OBJECT IDENTIFIER ::= { etsysMACAuthenticationConformance 1 }

etsysMACAuthenticationCompliances
        OBJECT IDENTIFIER ::= { etsysMACAuthenticationConformance 2 }


-- -------------------------------------------------------------
-- Units of conformance
-- -------------------------------------------------------------

etsysMACAuthenticationSystemGroup OBJECT-GROUP
    OBJECTS {
        etsysMACAuthenticationSystemEnable,
        etsysMACAuthenticationMACUserPassword,
        etsysMACAuthenticationPortUserNameSignificantBits
    }
    STATUS      deprecated
    DESCRIPTION
        "Global object controlling this feature.
         Global objects that affect how the credentials are
         presented to the authentication server."
    ::= { etsysMACAuthenticationGroups 1 }

etsysMACAuthenticationPortConfigGroup OBJECT-GROUP
    OBJECTS {
        etsysMACAuthenticationPortInitialize,
        etsysMACAuthenticationPortReauthenticate,
        etsysMACAuthenticationPortEnable,
        etsysMACAuthenticationPortQuietPeriod,
        etsysMACAuthenticationPortReauthPeriod,
        etsysMACAuthenticationPortReauthEnabled,
        etsysMACAuthenticationAuthenticationsAllowed,
        etsysMACAuthenticationAuthenticationsAllocated,
        etsysMACAuthenticationLastFailedAuthCause
    }
    STATUS      current
    DESCRIPTION
        "Objects describing the MAC Authentication
         configuration for each port."
    ::= { etsysMACAuthenticationGroups 2 }

etsysMACAuthenticationMACConfigGroup OBJECT-GROUP
    OBJECTS {
        etsysMACAuthenticationSupplicantPort,
        etsysMACAuthenticationMACInitialize,
        etsysMACAuthenticationMACReauthenticate,
        etsysMACAuthenticationMACReauthPeriod,
        etsysMACAuthenticationMACReauthEnabled
    }
    STATUS      current
    DESCRIPTION
        "Objects associated with an individual MACs
         authentication configuration."
    ::= { etsysMACAuthenticationGroups 3 }

etsysMACAuthenticationMACSessionGroup OBJECT-GROUP
    OBJECTS {
        etsysMACAuthenticationSessionPort,
        etsysMACAuthenticationDuration
    }
    STATUS      current
    DESCRIPTION
        "Objects associated with a MAC Session"
    ::= { etsysMACAuthenticationGroups 4 }

etsysMACAuthenticationSystemGroup2 OBJECT-GROUP
    OBJECTS {
        etsysMACAuthenticationSystemEnable,
        etsysMACAuthenticationMACUserPassword,
        etsysMACAuthenticationPortUserNameSignificantBits,
        etsysMACAuthenticationMode,
        etsysMACAuthenticationSystemAccountEnable
    }
    STATUS      deprecated
    DESCRIPTION
        "Global object controlling this feature. 
         Global objects that affect how the credentials are
         presented to the authentication server."
    ::= { etsysMACAuthenticationGroups 5 }

etsysMACAuthenticationSystemGroup3 OBJECT-GROUP
    OBJECTS {
        etsysMACAuthenticationSystemEnable,
        etsysMACAuthenticationMACUserPassword,
        etsysMACAuthenticationPortUserNameSignificantBits,
        etsysMACAuthenticationMode,
        etsysMACAuthenticationSystemAccountEnable,
        etsysMACAuthenticationSystemUserNameFormat 
    }
    STATUS      current
    DESCRIPTION
        "Global object controlling this feature. 
         Global objects that affect how the credentials are
         presented to the authentication server."
    ::= { etsysMACAuthenticationGroups 6 }

etsysMACAuthenticationMACListGroup OBJECT-GROUP
    OBJECTS {
        etsysMACAuthenticationMaxMACListEntries,
        etsysMACAuthenticationCurrentMACListEntries,
        etsysMACAuthenticationMACListPassword,
        etsysMACAuthenticationMACListPasswordValid,
        etsysMACAuthenticationMACListPorts,
        etsysMACAuthenticationMACListRowStatus 
    }
    STATUS      current
    DESCRIPTION
        "Objects associated with MAC-List configuration."
    ::= { etsysMACAuthenticationGroups 7 }

-- -------------------------------------------------------------
-- Compliance statements
-- -------------------------------------------------------------

etsysMACAuthenticationCompliance MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "The compliance statement for devices that support MAC-Authentication."

    MODULE
        MANDATORY-GROUPS {
            etsysMACAuthenticationSystemGroup,
            etsysMACAuthenticationPortConfigGroup,
            etsysMACAuthenticationMACConfigGroup
            }

        GROUP etsysMACAuthenticationMACSessionGroup
        DESCRIPTION
            "Implementation of the etsysMACAuthenticationMACSessionGroup
             is optional for all agents.  If the agent impelments session
             functionality, then this table should be supported."

       OBJECT      etsysMACAuthenticationSystemEnable
       SYNTAX      EnabledStatus
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required. If read-only is selected,
            then the default value must be enabled(1)."

       OBJECT      etsysMACAuthenticationPortUserNameSignificantBits
       SYNTAX      INTEGER(1..48)
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required. If read-only is selected,
            then the default value must be 48. If this object is read-write,
            then the agent performs a two stage authentication where the
            it attempts to authenticate the masked MAC address if the
            full MAC address fails to authenticate."
    ::= { etsysMACAuthenticationCompliances 1 }

etsysMACAuthenticationCompliance2 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "The compliance statement for devices that support
         MAC-Authentication."

    MODULE
        MANDATORY-GROUPS {
            etsysMACAuthenticationSystemGroup2,
            etsysMACAuthenticationPortConfigGroup,
            etsysMACAuthenticationMACConfigGroup
            }

        GROUP etsysMACAuthenticationMACSessionGroup
        DESCRIPTION
            "Implementation of the etsysMACAuthenticationMACSessionGroup
             is optional for all agents.  If the agent impelments session
             functionality, then this table should be supported."

       OBJECT      etsysMACAuthenticationSystemEnable
       SYNTAX      EnabledStatus
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required. If read-only is selected,
            then the default value must be enabled(1)."

       OBJECT      etsysMACAuthenticationPortUserNameSignificantBits
       SYNTAX      INTEGER(1..48)
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required. If read-only is selected,
            then the default value must be 48. If this object is read-write,
            then the agent performs a two stage authentication where the
            it attempts to authenticate the masked MAC address if the
            full MAC address fails to authenticate."
    ::= { etsysMACAuthenticationCompliances 2 }

etsysMACAuthenticationCompliance3 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "The compliance statement for devices that support
         MAC-Authentication."

    MODULE
        MANDATORY-GROUPS {
            etsysMACAuthenticationSystemGroup3,
            etsysMACAuthenticationPortConfigGroup,
            etsysMACAuthenticationMACConfigGroup
            }

        GROUP etsysMACAuthenticationMACSessionGroup
        DESCRIPTION
            "Implementation of the etsysMACAuthenticationMACSessionGroup
             is optional for all agents.  If the agent impelments session
             functionality, then this table should be supported."

       OBJECT      etsysMACAuthenticationSystemEnable
       SYNTAX      EnabledStatus
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required. If read-only is selected,
            then the default value must be enabled(1)."

       OBJECT      etsysMACAuthenticationPortUserNameSignificantBits
       SYNTAX      INTEGER(1..48)
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required. If read-only is selected,
            then the default value must be 48. If this object is read-write,
            then the agent performs a two stage authentication where the
            it attempts to authenticate the masked MAC address if the
            full MAC address fails to authenticate."
    
       OBJECT      etsysMACAuthenticationSystemUserNameFormat
       SYNTAX      INTEGER {
                     hyphen(1),
                     none(2)
                   }
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required."

       ::= { etsysMACAuthenticationCompliances 3 }

etsysMACAuthenticationCompliance4 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for devices that support
         MAC-Authentication."

    MODULE
        MANDATORY-GROUPS {
            etsysMACAuthenticationSystemGroup3,
            etsysMACAuthenticationPortConfigGroup,
            etsysMACAuthenticationMACConfigGroup
            }

        GROUP etsysMACAuthenticationMACSessionGroup
        DESCRIPTION
            "Implementation of the etsysMACAuthenticationMACSessionGroup
             is optional for all agents.  If the agent implements session
             functionality, then this table should be supported.
              
             Implementation of the etysMACAuthenticationMACListGroup is
             optional for all agents. If the agent implements MAC-List
             functionality, then this table should be supported."

       OBJECT      etsysMACAuthenticationSystemEnable
       SYNTAX      EnabledStatus
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required. If read-only is selected,
            then the default value must be enabled(1)."

       OBJECT      etsysMACAuthenticationPortUserNameSignificantBits
       SYNTAX      INTEGER(1..48)
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required. If read-only is selected,
            then the default value must be 48. If this object is read-write,
            then the agent performs a two stage authentication where the
            it attempts to authenticate the masked MAC address if the
            full MAC address fails to authenticate."
    
       OBJECT      etsysMACAuthenticationSystemUserNameFormat
       SYNTAX      INTEGER {
                     hyphen(1),
                     none(2)
                   }
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required."

       OBJECT     etsysMACAuthenticationMode
       SYNTAX     INTEGER {
		    password(1),
	    	    radiusUsername(2),
		    macList(3)
      	          }
       MIN-ACCESS read-only
       DESCRIPTION
           "Write access is not required."

	OBJECT etsysMACAuthenticationMACListRowStatus 
	WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) }
	DESCRIPTION
 	    "The states createAndWait, notInService and notReady are not
	     supported for writing."

       ::= { etsysMACAuthenticationCompliances 4 }

END

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


EXTREME-OSPF-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY         FROM SNMPv2-SMI
        OBJECT-TYPE             FROM SNMPv2-SMI
        TruthValue              FROM SNMPv2-TC
        RowStatus               FROM SNMPv2-TC
        extremeAgent            FROM EXTREME-BASE-MIB
        extremeVlanIfIndex      FROM EXTREME-VLAN-MIB
        IpAddress               FROM SNMPv2-SMI;


    extremeOspf MODULE-IDENTITY
        LAST-UPDATED "200502140000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme specific OSPF information"
    ::= { extremeAgent 15 }


    extremeOspfInterfaceTable   OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeOspfInterfaceEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains Extreme Networks specific information 
            about OSPF interfaces."
        ::= { extremeOspf 1 }

    extremeOspfInterfaceEntry   OBJECT-TYPE
        SYNTAX  ExtremeOspfInterfaceEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "An entry in the table containing Extreme Networks specific 
            OSPF interface information."
        INDEX {extremeVlanIfIndex}
        ::= {extremeOspfInterfaceTable 1}

    ExtremeOspfInterfaceEntry ::= SEQUENCE {
                extremeOspfAreaId               IpAddress,
        extremeOspfInterfacePassive TruthValue,
                extremeOspfInterfaceStatus      RowStatus
    }

        extremeOspfAreaId OBJECT-TYPE
            SYNTAX   IpAddress
            MAX-ACCESS   read-write
            STATUS   current
            DESCRIPTION
               "A 32-bit integer uniquely identifying an area.
               Area ID 0.0.0.0 is used for the OSPF backbone."
          ::= { extremeOspfInterfaceEntry 1 }



    extremeOspfInterfacePassive OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Indicates whether the OSPF interface on this Vlan is
            Passive or not. Passive interfaces do not send routing
            updates. A true value indicates that the interface is passive."
        ::= { extremeOspfInterfaceEntry 2 }

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

END





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

   EXTREME-MPLS-MIB DEFINITIONS ::= BEGIN

   IMPORTS
     MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, Counter64
         FROM SNMPv2-SMI                   -- [RFC2578]

     MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
         FROM SNMPv2-CONF                  -- [RFC2580]

     extremeAgent
         FROM EXTREME-BASE-MIB

     TruthValue, TimeStamp
        FROM SNMPv2-TC                     -- [RFC2579]

     SnmpAdminString
         FROM SNMP-FRAMEWORK-MIB           -- [RFC3411 </rfcs/rfc3411.html>]

     PwIndexType, PwOperStatusTC,
     PwStatus 
        FROM PW-TC-STD-MIB                 -- [PWTC]

     VPNIdOrZero
        FROM VPN-TC-STD-MIB                -- [RFC4265]

     InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB              -- [RFC4001]

--         IndexInteger,
--         IndexIntegerNextFree
--             FROM DIFFSERV-MIB
                                            --  [RFC3289]               

     MplsTunnelIndex, MplsTunnelInstanceIndex,
     MplsExtendedTunnelId, MplsLdpIdentifier, 
     MplsLsrIdentifier
        FROM MPLS-TC-STD-MIB               -- [RFC3811]

     pwIndex
          FROM PW-STD-MIB                    -- [PWMIB]

     MplsIndexType
          FROM MPLS-LSR-STD-MIB              -- [RFC3813]
  ;

    extremeMplsMIB MODULE-IDENTITY
        LAST-UPDATED "201006280000Z" -- June 28, 2010
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme extensions to mplsTeStdMIB"
    ::= { extremeAgent 37 }

  -- Notifications
   extremeMplsNotifications OBJECT IDENTIFIER ::= { extremeMplsMIB 0 }
                                
   extremeMplsScalars       OBJECT IDENTIFIER ::= { extremeMplsMIB 1 }

  -- DEFINED IN extremersvpmib.my
  -- extremeMplsTeMIB       MODULE-IDENTITY   ::= { extremeMplsMIB 2 }

   extremeVplsObjects       OBJECT IDENTIFIER ::= { extremeMplsMIB 3 }

   extremeL2VpnMplsNotificationHandler OBJECT IDENTIFIER ::= { extremeMplsMIB 4 }

   extremePwObjects         OBJECT IDENTIFIER ::= { extremeMplsMIB 5 }


IndexInteger ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS   current
    DESCRIPTION
       "An integer which may be used as a table index."
    SYNTAX   Unsigned32 (1..4294967295)

  extremePwUpDownNotificationEnable  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
        "If this object is set to true(1), then it enables
         the emission of pwUp and pwDown
         notifications; otherwise these notifications are not
         emitted."
     REFERENCE
        "See also [RFC3413] for explanation that
         notifications are under the ultimate control of the
         MIB module in this document."
     DEFVAL { true }
     ::= { extremeMplsScalars 5 }

  extremePwDeletedNotificationEnable  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
        "If this object is set to true(1), then it enables the
         emission of pwDeleted notification; otherwise this
         notification is not emitted."
     REFERENCE
        "See also [RFC3413] for explanation that
         notifications are under the ultimate control of the
         MIB module in this document."
     DEFVAL { true }
     ::= { extremeMplsScalars 6 }

   extremePwNotificationMaxRate OBJECT-TYPE
      SYNTAX       Unsigned32
      MAX-ACCESS   read-write
      STATUS       current
      DESCRIPTION
           "This variable indicates the maximum number of
             notifications issued per second. If events occur
             more rapidly, the implementation may simply fail to
             emit these notifications during that period, or may
             queue them until an appropriate time. A value of 0
             means no throttling is applied and events may be
             notified at the rate at which they occur."
      DEFVAL       { 0 }
      ::= { extremeMplsScalars 7 }

   extremePwNotificationPwIndex OBJECT-TYPE
      SYNTAX       PwIndexType
      MAX-ACCESS   accessible-for-notify
      STATUS       current
      DESCRIPTION
           "This variable indicates the index of the pseudowire
	     that either went up, down, or was deleted as reported
	     by the corresponding notification.

	    To obtain further information regarding the pseudowire, 
	     the network administrator should look up the corresponding
	     pseudowire entry in pwTable (RFC 5601)."

      ::= { extremeMplsScalars 8 }

   extremePwNotificationPwOperStatus OBJECT-TYPE
      SYNTAX       PwOperStatusTC
      MAX-ACCESS   accessible-for-notify
      STATUS       current
      DESCRIPTION
           "This variable is used to report the value of pwOperStatus 
	     in pwTable (RFC 5601) associated with the pseudowire that
	     went up or down."
      ::= { extremeMplsScalars 9 }

   extremePwNotificationPeerAddrType OBJECT-TYPE
      SYNTAX       InetAddressType
      MAX-ACCESS   accessible-for-notify
      STATUS       current
      DESCRIPTION
           "Denotes the address type of the peer node."
      ::= { extremeMplsScalars 10 }

   extremePwNotificationPeerAddr OBJECT-TYPE
     SYNTAX        InetAddress
     MAX-ACCESS    accessible-for-notify
     STATUS        current
     DESCRIPTION
          "This object contains the value of the peer node address."
     ::= { extremeMplsScalars 11 }

   extremeMplsNotifTunnelIndex OBJECT-TYPE
      SYNTAX        MplsTunnelIndex
      MAX-ACCESS    accessible-for-notify
      STATUS        current
      DESCRIPTION
           "Uniquely identifies a set of tunnel instances
             between a pair of ingress and egress LSRs.
	    Contains part of the index of a te tunnel that underwent
	     state change.
	    The same tunnel can also be looked up in the te mib."
      REFERENCE
           "1. RSVP-TE: Extensions to RSVP for LSP Tunnels,
             Awduche et al, RFC 3209 </rfcs/rfc3209.html>, December 2001
            2. Constraint-Based LSP Setup using LDP, Jamoussi
             (Editor), RFC 3212 </rfcs/rfc3212.html>, January 2002
            3. MPLS Traffic Engineering (TE) Management Information Base (MIB).
             http://www.faqs.org/rfcs/rfc3812.html."
     ::= { extremeMplsScalars 12 }

   extremeMplsNotifTunnelInstance OBJECT-TYPE
      SYNTAX        MplsTunnelInstanceIndex
      MAX-ACCESS    accessible-for-notify
      STATUS        current
      DESCRIPTION
           "Uniquely identifies a particular instance of a
             tunnel between a pair of ingress and egress LSRs."
     ::= { extremeMplsScalars 13 }


   extremeMplsNotifTunnelIngressLSRId OBJECT-TYPE
      SYNTAX        MplsExtendedTunnelId
      MAX-ACCESS    accessible-for-notify
      STATUS        current
      DESCRIPTION
           "Identity of the ingress LSR associated with this
             tunnel instance."
     ::= { extremeMplsScalars 14 }

   extremeMplsNotifTunnelEgressLSRId OBJECT-TYPE
      SYNTAX        MplsExtendedTunnelId
      MAX-ACCESS    accessible-for-notify
      STATUS        current
      DESCRIPTION
           "Identity of the egress LSR associated with this
             tunnel instance."
     ::= { extremeMplsScalars 15 }

   extremeMplsNotifTunnelAdminStatus OBJECT-TYPE
      SYNTAX     INTEGER {
                      up(1),
                      down(2)
                }
      MAX-ACCESS    accessible-for-notify
      STATUS        current
      DESCRIPTION
           "Reports the desired operational status of this tunnel."
     ::= { extremeMplsScalars 16 }

   extremeMplsNotifTunnelOperStatus OBJECT-TYPE
      SYNTAX     INTEGER {
                  -- ready to pass packets
                  up(1),
                  down(2),
                  -- in some test mode
                  testing(3),
                  -- status cannot be determined
                  unknown(4),
                  dormant(5),
                  -- some component is missing
                  notPresent(6),

                  -- down due to the state of
                  -- lower layer interfaces
                  lowerLayerDown(7)
                }
      MAX-ACCESS    accessible-for-notify
      STATUS        current
      DESCRIPTION
           "Reports the actual operational status of this
             tunnel, which is typically but not limited to, a
             function of the state of individual segments of
             this tunnel."
     ::= { extremeMplsScalars 17 }

      extremeMplsNotifLdpEntityLdpId OBJECT-TYPE
          SYNTAX      MplsLdpIdentifier
          MAX-ACCESS  accessible-for-notify
          STATUS      current
          DESCRIPTION
              "The LDP identifier. This is the primary index to identify
	        a row in the mplsLdpEntityTable (RFC 3815)."
         REFERENCE
             "1. RFC3036: LDP Specification, Section on LDP Identifiers.
	      2. RFC3815: Definitions of Managed Objects for the Multiprotocol
	         Label Switching (MPLS), Label Distribution Protocol (LDP)." 
         ::= { extremeMplsScalars 18 }

     extremeMplsNotifLdpEntityIndex OBJECT-TYPE
         SYNTAX      IndexInteger
         MAX-ACCESS  accessible-for-notify
         STATUS      current
         DESCRIPTION
             "This index is used as a secondary index to uniquely identify
	       a row in the mplsLdpEntityTable (RFC 3815).

              This object is meaningful to some but not all, LDP
	       implementations."
         ::= { extremeMplsScalars 19 }

     extremeMplsNotifLdpPeerLdpId OBJECT-TYPE
         SYNTAX      MplsLdpIdentifier
         MAX-ACCESS  accessible-for-notify
         STATUS      current
         DESCRIPTION
             "The LDP identifier of this LDP Peer."
         REFERENCE
             "1. RFC3036: LDP Specification, Section on LDP Identifiers.
	      2. RFC3815: Definitions of Managed Objects for LDP."
         ::= { extremeMplsScalars 20 }

     extremeMplsNotifLdpSessionState OBJECT-TYPE
         SYNTAX      INTEGER {
                        nonexistent(1),
                        initialized(2),
                        openrec(3),
                        opensent(4),
                        operational(5)
                     }
         MAX-ACCESS  accessible-for-notify
         STATUS      current
         DESCRIPTION
             "The current state of the session, all of the
             states 1 to 5 are based on the state machine
             for session negotiation behavior."
         REFERENCE
             "1. RFC3036: LDP Specification, Section 2.5.4, Initialization
		 State Machine.
	      2. RFC3815: Definitions of Managed Objects for LDP."
         ::= { extremeMplsScalars 21 }

     extremeMplsNotifLdpSessionDiscontinuityTime OBJECT-TYPE
         SYNTAX      TimeStamp
         MAX-ACCESS  accessible-for-notify
         STATUS      current
         DESCRIPTION
             "The initial value of this object is the value of
               sysUpTime when the entry was created in this table.

             Subsequent notifications report the time when the session
              between a given Entity and Peer goes away or a new session
              is established."
         REFERENCE
             "1. RFC3036: LDP Specification, Section 2.5.4, Initialization
		 State Machine.
	      2. RFC3815: Definitions of Managed Objects for LDP."
         ::= { extremeMplsScalars 22 }


     extremeVplsNotifConfigIndex OBJECT-TYPE
         SYNTAX      Unsigned32 (1.. 2147483647)
         MAX-ACCESS  accessible-for-notify
         STATUS      current
         DESCRIPTION
             "Unique index for the conceptual row identifying
               a VPLS service in the vplsConfigTable."
         REFERENCE
             "vplsGenericDraft01MIB: Generic managed object definitions
               for Virtual Private LAN Services as in [L2VPN-VPLS-LDP]
               and [L2VPN-VPLS-BGP]

               The L2VPN Working Group (email distribution l2vpn@ietf.org,
               http://www.ietf.org/html.charters/l2vpn-charter.html)"
         ::= { extremeMplsScalars 23 }


      extremeVplsNotifConfigVpnId OBJECT-TYPE
          SYNTAX          VPNIdOrZero
          MAX-ACCESS      accessible-for-notify
          STATUS          current
          DESCRIPTION
               "This objects indicates the IEEE 802-1990 VPN ID of the 
	         associated VPLS service.

		This object has the same value as vplsConfigVpnId in the
		 vplsConfigTable for an index value equal to
		 extremeVplsNotifConfigIndex sent in the notification."
          ::= { extremeMplsScalars 24 }

      extremeVplsNotifConfigAdminStatus OBJECT-TYPE
          SYNTAX          INTEGER {
                              up(1),
                              down(2),
                              testing(3)

                          }
          MAX-ACCESS      accessible-for-notify
          STATUS          current
          DESCRIPTION
               "The administrative state of the VPLS service.        

		This object has the same value as vplsConfigAdminStatus in the
		 vplsConfigTable for an index value equal to
		 extremeVplsNotifConfigIndex sent in the notification."
          ::= { extremeMplsScalars 25 }

      extremeVplsNotifStatusOperStatus OBJECT-TYPE
          SYNTAX          INTEGER {
                              up(1),
			      degraded(2),
                              down(3)
                          }
          MAX-ACCESS      accessible-for-notify
          STATUS          current
          DESCRIPTION
               "The current operational state of this VPLS Service.

		A value of up(1) indicates that all pseudo-wires for this  
		 vpls are up and the attachment circuit is up.

		A value of degraded(2) indicates that at least one
                 pseudo-wires for this vpls is up and the attachment circuit
	         is up.

		A value of down(3) indicates that all pseudo-wires for this  
		 vpls are down or the attachment circuit is down."
          ::= { extremeMplsScalars 26 }

   extremePwStatusChange NOTIFICATION-TYPE
     OBJECTS { extremePwNotificationPwIndex,
               extremePwNotificationPwOperStatus
     }
     STATUS  current
     DESCRIPTION
         "This notification is generated when the pwOperStatus
          object for a pseudowire transitions from up(1) to down(2)
          or from down(2) to up(1)."
     ::= { extremeMplsNotifications  1 }

  extremePwDeleted NOTIFICATION-TYPE
     OBJECTS { extremePwNotificationPwIndex,
               extremePwNotificationPeerAddrType,
               extremePwNotificationPeerAddr
     }
     STATUS  current
     DESCRIPTION
         "This notification is generated when a PW has been
          deleted."
     ::= { extremeMplsNotifications  2 }

   extremeMplsTunnelStatusChange NOTIFICATION-TYPE
     OBJECTS { extremeMplsNotifTunnelIndex,
               extremeMplsNotifTunnelInstance,
               extremeMplsNotifTunnelIngressLSRId,
               extremeMplsNotifTunnelEgressLSRId,
               extremeMplsNotifTunnelAdminStatus,
               extremeMplsNotifTunnelOperStatus
     }
     STATUS  current
     DESCRIPTION
         "This notification is generated when the mplsTunnelOperStatus
           object for a te-lsp transitions from up(1) to down(2)
           or from down(2) to up(1). This new state is indicated by the
           included value of mplsTunnelOperStatus."
     ::= { extremeMplsNotifications  3 }

     extremeMplsLdpSessionStatusChange NOTIFICATION-TYPE
          OBJECTS     {
		      	extremeMplsNotifLdpEntityLdpId,
                        extremeMplsNotifLdpEntityIndex,
		     	extremeMplsNotifLdpPeerLdpId,
			extremeMplsNotifLdpSessionState,
	     		extremeMplsNotifLdpSessionDiscontinuityTime
                      }
          STATUS      current
          DESCRIPTION
             "This notification is generated when the value of
              'mplsLdpSessionState' (rfc3815) enters or leaves the
              'operational(5)' state."
     ::= { extremeMplsNotifications  4 }

     extremeVplsStatusChange NOTIFICATION-TYPE
          OBJECTS     {
              		extremeVplsNotifConfigIndex,
              		extremeVplsNotifConfigVpnId,
              		extremeVplsNotifConfigAdminStatus,
              		extremeVplsNotifStatusOperStatus
                      }
          STATUS      current
          DESCRIPTION
               "This notification is generated to inform recepients of the
	        state of the Vpls.

		When all pseudowires in this Vpls are up or ready and the
		attachment circuit is up, extremeVplsNotifStatusOperStatus
	        is set to vplsOperStatusUp(1) in the notification.

		When at least one pseudowire in this Vpls is up or ready
		and the attachment circuit is up, extremeVplsNotifStatusOperStatus
		is set to vplsOperStatusDegraded(2) in the notification.

		When all pseudowires in this Vpls are down or the
		attachment circuit is down, extremeVplsNotifStatusOperStatus
		is set to vplsOperStatusDown(3) in the notification.

		Once a notification has been sent with vplsOperStatusDegraded(2),
		no further notification will be  sent untill
		extremeVplsNotifStatusOperStatus transitions to  
		vplsOperStatusUp(1) or vplsOperStatusDown(3)."

     REFERENCE
        "See also Extreme Networks Concepts Guide for a description of H-VPLS."
     ::= { extremeMplsNotifications  5 }

-- VPLS Config table
        
          extremeVplsConfigTable OBJECT-TYPE
                  SYNTAX          SEQUENCE OF ExtremeVplsConfigEntry
                  MAX-ACCESS      not-accessible
                  STATUS          current
                  DESCRIPTION
                       "This table specifies information for configuring
                        and monitoring Virtual Private Lan Services(VPLS).
                        "
                  REFERENCE
                       "VPLS-GENERIC-DRAFT-01-MIB  : Generic information 
                       for configuring and monitoring Virtual Private Lan 
                       Services (VPLS) " 
                  ::= { extremeVplsObjects 1 }

          extremeVplsConfigEntry OBJECT-TYPE
                  SYNTAX          ExtremeVplsConfigEntry
                  MAX-ACCESS      not-accessible
                  STATUS          current
                  DESCRIPTION
                   "A row in this table represents a Virtual Private Lan
                    Service(VPLS) in a packet network. It is indexed by
                    extremeVplsConfigIndex, which uniquely identifies a 
                    single VPLS.
                    "
                  INDEX           { extremeVplsConfigIndex }
                  ::= { extremeVplsConfigTable 1 }

         ExtremeVplsConfigEntry ::=
                SEQUENCE {
                         extremeVplsConfigIndex                                Unsigned32,
                         extremeVplsConfigRedunType                            INTEGER,
                         extremeVplsConfigEAPSStatus                           SnmpAdminString,
                         extremeVplsConfigESRPState                            SnmpAdminString
                 }

         extremeVplsConfigIndex  OBJECT-TYPE
                  SYNTAX          Unsigned32 (1.. 2147483647)
                  MAX-ACCESS      not-accessible
                  STATUS          current
                  DESCRIPTION
                       "Unique index for the conceptual row identifying
                        a VPLS service."
                  ::= { extremeVplsConfigEntry 1 }

        
         extremeVplsConfigRedunType OBJECT-TYPE   
                  SYNTAX        INTEGER {
                                  none  (0),
                                  esrp  (1),
                                  eaps  (2),
                                  stp   (3)
                                }  
                  MAX-ACCESS    read-only  
                  STATUS        current  
                  DESCRIPTION  
                       "This variable indicates the redundancy type for this vpls.
                        Redundacy states can be None, EAPS, ESRP and STP."
                  DEFVAL { none }
                  ::= { extremeVplsConfigEntry 2 }  

        extremeVplsConfigEAPSStatus OBJECT-TYPE   
                  SYNTAX        SnmpAdminString
                  MAX-ACCESS    read-only  
                  STATUS        current  
                  DESCRIPTION  
                       "This variable indicates the EAPS redundancy status for this vpls.
                        It displays Protected if the VLAN is protected, else Not Protected.
                        EAPS Status displays the following values
                        Waiting - if we are waiting on EAPS status
                        Connected - if EAPS ring status is connected to VLAN.
                                    PW will not be installed in this state.
                        Disconnected - if EAPS ring state is disconnected.
                                       PW will be installed in this state.
                        Unknown - if EAPS is not found 
                       "  
                  ::= { extremeVplsConfigEntry 3 } 
          
        extremeVplsConfigESRPState OBJECT-TYPE   
                  SYNTAX        SnmpAdminString
                  MAX-ACCESS    read-only  
                  STATUS        current  
                  DESCRIPTION  
                       "This variable indicates the ESRP redundancy state for this vpls.
                        ESRP states can have two values : Master and Slave
                        PW will only be installed when ESRP is in the Master state.
                        "  
                  ::= { extremeVplsConfigEntry 4 }   

  -- End of Vpls Config table
  
  -- VPLS Status table   
          extremeVplsStatusTable OBJECT-TYPE
                  SYNTAX          SEQUENCE OF ExtremeVplsStatusEntry
                  MAX-ACCESS      not-accessible
                  STATUS          current
                  DESCRIPTION
                       "This table specifies information for configuring
                        and monitoring Virtual Private Lan Services(VPLS).
                        "
                  REFERENCE
                       "VPLS-GENERIC-DRAFT-01-MIB  : Generic information 
                       for configuring and monitoring Virtual Private Lan 
                       Services (VPLS) " 
                  ::= { extremeVplsObjects 2 }

          extremeVplsStatusEntry OBJECT-TYPE
                  SYNTAX          ExtremeVplsStatusEntry
                  MAX-ACCESS      not-accessible
                  STATUS          current
                  DESCRIPTION
                   "A row in this table represents a Virtual Private Lan
                    Service(VPLS) in a packet network. It is indexed by
                    extremeVplsConfigIndex, which uniquely identifies a 
                    single VPLS.
                    "
                  INDEX           { extremeVplsStatusIndex }
                  ::= { extremeVplsStatusTable 1 }  

          ExtremeVplsStatusEntry ::=
                SEQUENCE {
                         extremeVplsStatusIndex                                Unsigned32,
                         extremeVplsOperStatus                                 INTEGER
                         }

          extremeVplsStatusIndex  OBJECT-TYPE
                  SYNTAX          Unsigned32 (1.. 2147483647)
                  MAX-ACCESS      not-accessible
                  STATUS          current
                  DESCRIPTION
                       "Unique index for the conceptual row identifying
                        a VPLS service."
                  ::= { extremeVplsStatusEntry 1 }

          extremeVplsOperStatus OBJECT-TYPE   
                  SYNTAX        INTEGER {
                                  up        (1),
                                  degraded  (2),
                                  down      (3)
                                }  
                  MAX-ACCESS    read-only
                  STATUS        current  
                  DESCRIPTION  
                       "This variable indicates the vpls operation Status. This is a special
                       status provided which has values up,down and degraded. This is different
                       from the vpls pw status shown in the standard mib.
                       Up - all PWs are in the Up or Ready state.
                       Degraded - Atleast one PW is in the Up or Ready state.
                       Down - None of the PWs are in Up or Ready state."  
                  ::= { extremeVplsStatusEntry 2 }  
 -- End of table

  -- VPLS Peer table 
        
          extremeVplsPeerTable OBJECT-TYPE
                 SYNTAX        SEQUENCE OF ExtremeVplsPeerEntry
                 MAX-ACCESS    not-accessible
                 STATUS        current
                 DESCRIPTION   
                                  "This table provides information for monitoring
                Virtual Private Lan Services(VPLS) Peer Entries."      
                REFERENCE
                       "PW-STD-MIB  : Information 
                       for configuring and monitoring Virtual Private Lan 
                       Services (VPLS) Peer Entries"        
          ::= { extremeVplsObjects 3 }

          extremeVplsPeerEntry OBJECT-TYPE
                  SYNTAX          ExtremeVplsPeerEntry
                  MAX-ACCESS      not-accessible
                  STATUS          current
                  DESCRIPTION
                    "This entry contains information of all the peers belonging
                    to a particular VPLS "
                  INDEX           { extremeVplsIndex,  extremeVplsPwBindIndex }
                  ::= { extremeVplsPeerTable 1 }
        
             ExtremeVplsPeerEntry ::=
                SEQUENCE {
                 extremeVplsIndex                            Unsigned32,
                 extremeVplsPwBindIndex                      PwIndexType,
                 extremePwInstalled                          TruthValue,
                 extremePwMode                               INTEGER,
                 extremePwConfiguredRole                     INTEGER
                 
             }

          extremeVplsIndex  OBJECT-TYPE
                  SYNTAX          Unsigned32 (1.. 2147483647)
                  MAX-ACCESS      not-accessible
                  STATUS          current
                  DESCRIPTION
                       "Unique index for the conceptual row identifying
                        a VPLS service."
            ::= { extremeVplsPeerEntry 1 }

          extremeVplsPwBindIndex        OBJECT-TYPE
                   SYNTAX        PwIndexType
                   MAX-ACCESS    not-accessible
                   STATUS        current
                   DESCRIPTION
                      "Secondary Index for the conceptual row identifying
                       a pseudowire within the PwEntry which MUST
                       match an entry from the PW-STD-MIB's PwTable
                       which represents an already-provisioned
                       pseuwowire that is then associated with this
                       VPLS instance."
            ::= { extremeVplsPeerEntry 2 }

          extremePwInstalled OBJECT-TYPE
                 SYNTAX        INTEGER {
                                  false  (0),
                                  true   (1)
                               }
                 MAX-ACCESS    read-only
                 STATUS        current
                 DESCRIPTION
                               "Boolean true or false indicating if PW is installed"
           ::= { extremeVplsPeerEntry 3 }

         extremePwMode OBJECT-TYPE   
                  SYNTAX        INTEGER {
                                  coretocore  (1),
                                  coretospoke (2),
                                  spoketocore (3)
                                }  
                  MAX-ACCESS    read-only  
                  STATUS        current  
                  DESCRIPTION  
                       "The peer mode of this pw. It indicates its current mode and the mode of 
                       the switch it is connected to. It can have the following values :
                       Core-to-core, Core-to-Spoke and Spoke-to-Core."  
           ::= { extremeVplsPeerEntry 4 }

         extremePwConfiguredRole OBJECT-TYPE   
                  SYNTAX        INTEGER {
                                  primary        (1),
                                  secondary      (2),
                                  notApplicable  (3)
                                }  
                  MAX-ACCESS    read-only  
                  STATUS        current  
                  DESCRIPTION  
                       "The configured role of this pw. It applies only in the case the PWMode is
                       Core-to-core. In this case, the configured role can either be Primary or 
                       Secondary. For all the other PW modes, the configured role does not apply."  
                  DEFVAL          { notApplicable }
           ::= { extremeVplsPeerEntry 5 }

         
     -- End of Vpls Peer table

   -- Enable/Disable L2VPN/MPLS trap 

           extremeMPLSTrapsEnable OBJECT-TYPE
                 SYNTAX      INTEGER {
                                enabled  (1),
                                disabled (2)
                             }
                 MAX-ACCESS  read-write
                 STATUS      current
                 DESCRIPTION
                     "Mpls Trap status. If enabled then all the mpls related traps will be sent out."
                 ::= { extremeL2VpnMplsNotificationHandler 1 }

           extremeL2VpnTrapsEnable OBJECT-TYPE
                 SYNTAX      INTEGER {
                                enabled  (1),
                                disabled (2)
                             }
                 MAX-ACCESS  read-write
                 STATUS      current
                 DESCRIPTION
                     "L2Vpn Trap status. If enabled then all the l2vpn related traps will be sent out."
                 ::= { extremeL2VpnMplsNotificationHandler 2 }


   -- Extreme PW performance table 
   extremePwPerfTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF ExtremePwPerfEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This table provides per-PW performance information."

      ::= { extremePwObjects 1 }

   extremePwPerfEntry OBJECT-TYPE
      SYNTAX        ExtremePwPerfEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table is created by the agent for
           every PW."

      INDEX { pwIndex }
      ::= { extremePwPerfTable 1 }

   ExtremePwPerfEntry ::= SEQUENCE {
        pwPerfInPackets            Counter32,
        pwPerfInBytes              Counter32,
        pwPerfOutPackets           Counter32,
        pwPerfOutBytes             Counter32,
        pwPerfInHCPackets          Counter64,
        pwPerfInHCBytes            Counter64,
        pwPerfOutHCPackets         Counter64,
        pwPerfOutHCBytes           Counter64         
      }

   pwPerfInPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "The counter for the total number of packets received 
            by the PW (from the PSN). This is the 32-bit value of 
            the least significant part of the 64-bit value 
            pwPerfInHCPackets."
      ::= { extremePwPerfEntry 1 }

    pwPerfInBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "The counter for the total number of bytes received 
            by the PW (from the PSN). This is the 32-bit value of 
            the least significant part of the 64-bit value  
            pwPerfInHCBytes."
      ::= { extremePwPerfEntry 2 }

   pwPerfOutPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "The counter for the total number of packets forwarded 
            by the PW (to the PSN). This is the 32-bit value of 
            the least significant part of the 64-bit value  
            pwPerfOutHCPackets."
      ::= { extremePwPerfEntry 3 }

    pwPerfOutBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "The counter for the total number of bytes forwarded 
            by the PW (to the PSN). This is the 32-bit value of 
            the least significant part of the 64-bit value 
            pwPerfOutHCBytes."
      ::= { extremePwPerfEntry 4 }

     pwPerfInHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "High-capacity counter for the total number of packets
           received by the PW (from the PSN)."
      ::= { extremePwPerfEntry 5 }

    pwPerfInHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "High-capacity counter for the total number of bytes
           received by the PW (from the PSN)."
      ::= { extremePwPerfEntry 6 }

   pwPerfOutHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "High-capacity counter for the total number of packets 
            forwarded by the PW (to the PSN)."
      ::= { extremePwPerfEntry 7 }

    pwPerfOutHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "High-capacity counter for the total number of bytes 
            forwarded by the PW (to the PSN)."
      ::= { extremePwPerfEntry 8 }

   -- end of Extreme PW performance table 

-- Extreme PW LSP Mapping table 

   extremePwLspOutboundMappingTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF ExtremePwLspOutboundMappingEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This table provides mappings between PW and LSP  
           outbound tunnels."

      ::= { extremePwObjects 2 }

   extremePwLspOutboundMappingEntry OBJECT-TYPE
      SYNTAX        ExtremePwLspOutboundMappingEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table is created by the agent for
           each LSP in-use by a PW."

      INDEX {  pwIndex,
               lspIndex
            }
      ::= { extremePwLspOutboundMappingTable 1 }

   ExtremePwLspOutboundMappingEntry ::= SEQUENCE {
         lspIndex                          Unsigned32,
         pwLspOutboundLsrXcIndex           MplsIndexType,
         pwLspOutboundTunnelIndex          MplsTunnelIndex,
         pwLspOutboundTunnelInstance       MplsTunnelInstanceIndex,
         pwLspOutboundTunnelLclLSR         MplsLsrIdentifier,
         pwLspOutboundTunnelPeerLSR        MplsLsrIdentifier,
         pwLspOutboundTunnelTypeInUse      INTEGER
      }

   lspIndex OBJECT-TYPE
      SYNTAX        Unsigned32
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "The second index for the table. It contains 
           the unique id assigned to a tunnel used by the PW."
      ::= { extremePwLspOutboundMappingEntry 1 }

    pwLspOutboundLsrXcIndex      OBJECT-TYPE
      SYNTAX        MplsIndexType
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "This object is applicable if pwLspOutboundTunnelTypeInUse 
           is mplsNonTe(2), and MUST return a value of zero otherwise. 
           If the outer tunnel is signaled, it indicates the XC index 
           in the MPLS-LSR-STD-MIB of the outer tunnel toward the peer. 
           Otherwise if tunnel is set up manually, it indicates 
           the XC index of the manually created outer tunnel."
      ::= { extremePwLspOutboundMappingEntry 2 }


   pwLspOutboundTunnelIndex         OBJECT-TYPE
      SYNTAX        MplsTunnelIndex
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "This object is applicable if pwLspOutboundTunnelTypeInUse 
           is mplsTe(1), and MUST return a value of zero otherwise."
      ::= { extremePwLspOutboundMappingEntry 3 }

   pwLspOutboundTunnelInstance      OBJECT-TYPE
      SYNTAX        MplsTunnelInstanceIndex
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "This object is applicable if pwLspOutboundTunnelTypeInUse 
           is mplsTe(1), and MUST return a value of zero otherwise."
      ::= { extremePwLspOutboundMappingEntry 4 }

   pwLspOutboundTunnelLclLSR        OBJECT-TYPE
      SYNTAX        MplsLsrIdentifier
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "This object is applicable if pwLspOutboundTunnelTypeInUse 
           is mplsTe(1), and MUST return a value of all zeros otherwise."
      ::= { extremePwLspOutboundMappingEntry 5 }

   pwLspOutboundTunnelPeerLSR       OBJECT-TYPE
      SYNTAX        MplsLsrIdentifier
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "This object is applicable if pwLspOutboundTunnelTypeInUse 
           is mplsTe(1), and MUST return a value of zero otherwise."
      ::= { extremePwLspOutboundMappingEntry 6 }

   pwLspOutboundTunnelTypeInUse OBJECT-TYPE
      SYNTAX         INTEGER {
                     mplsTe      (1),
                     mplsNonTe   (2)
      }
      MAX-ACCESS     read-only
      STATUS         current
      DESCRIPTION
          "This object indicates the current tunnel that is carrying
           the PW traffic."
      ::= { extremePwLspOutboundMappingEntry 7 }

   -- end of Extreme PW LSP Mapping table

   -- Extreme PW LSP performance table 

   extremePwLspPerfTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF ExtremePwLspPerfEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "This table provides performance information for each LSP 
           in-use by a PW."

      ::= { extremePwObjects 3 }

   extremePwLspPerfEntry OBJECT-TYPE
      SYNTAX        ExtremePwLspPerfEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table is created by the agent for
           each LSP in-use by a PW."

      INDEX {  pwIndex,
               lspIndex
            }
      ::= { extremePwLspPerfTable 1 }

   ExtremePwLspPerfEntry ::= SEQUENCE {
        pwLspPerfOutPackets            Counter32,
        pwLspPerfOutBytes              Counter32,
        pwLspPerfOutHCPackets          Counter64,
        pwLspPerfOutHCBytes            Counter64
      }

   pwLspPerfOutPackets OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "The counter for the number of packets forwarded 
            by the LSP for the given PW (to the PSN). This is 
            the 32-bit value of the least significant part of 
            the 64-bit value pwLspPerfOutHCPackets."
      ::= { extremePwLspPerfEntry 1 }

    pwLspPerfOutBytes OBJECT-TYPE
      SYNTAX        Counter32
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "The counter for the number of bytes forwarded 
            by the LSP for the given PW (to the PSN). This is 
            the 32-bit value of the least significant part of 
            the 64-bit value pwLspPerfOutHCBytes."
      ::= { extremePwLspPerfEntry 2 }

    pwLspPerfOutHCPackets OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "High-capacity counter for the number of packets forwarded 
            by the LSP for the given PW (to the PSN)."
      ::= { extremePwLspPerfEntry 3 }

    pwLspPerfOutHCBytes OBJECT-TYPE
      SYNTAX        Counter64
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
            "High-capacity counter for the number of bytes forwarded 
            by the LSP for the given PW (to the PSN)."
      ::= { extremePwLspPerfEntry 4 }

   -- end of Extreme PW LSP performance table 

    extremePwNotificationLspIndex OBJECT-TYPE
      SYNTAX       Unsigned32
      MAX-ACCESS   accessible-for-notify
      STATUS       current
      DESCRIPTION
           "This variable indicates the index of the LSP
	     that was added to or deleted from a given PW as reported
	     by the corresponding notification."

      ::= { extremeMplsScalars 27 }

   extremePwLspAdded NOTIFICATION-TYPE
     OBJECTS { extremePwNotificationPwIndex,
               extremePwNotificationLspIndex
     }
     STATUS  current
     DESCRIPTION
         "This notification is generated when an entry is added to the  
          extremePwLspOutboundMappingTable table and the extremePwLspPerfTable 
          table."
     ::= { extremeMplsNotifications  6 }

   extremePwLspDeleted NOTIFICATION-TYPE
     OBJECTS { extremePwNotificationPwIndex,
               extremePwNotificationLspIndex
     }
     STATUS  current
     DESCRIPTION
         "This notification is generated when an entry is deleted from the  
          extremePwLspOutboundMappingTable table and the extremePwLspPerfTable 
          table."
     ::= { extremeMplsNotifications  7 }


END

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

   EXTREME-MPLS-TE-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE
         FROM SNMPv2-SMI                   -- [RFC2578]

      MODULE-COMPLIANCE, OBJECT-GROUP
         FROM SNMPv2-CONF                  -- [RFC2580]

      extremeMplsMIB
          FROM EXTREME-MPLS-MIB

      mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId,
      mplsTunnelEgressLSRId
          FROM MPLS-TE-STD-MIB                  -- [RFC3812]

   ;

    extremeMplsTeMIB MODULE-IDENTITY
        LAST-UPDATED "200907040000Z" -- July 4, 2009
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme extensions to mplsTeStdMIB"
    ::= { extremeMplsMIB 2 }

   extremeMplsTeScalars       OBJECT IDENTIFIER ::= { extremeMplsTeMIB 1 } -- none yet
   extremeMplsTeObjects       OBJECT IDENTIFIER ::= { extremeMplsTeMIB 2 }
   -- conformance
   extremeMplsTeConformance   OBJECT IDENTIFIER ::= { extremeMplsTeMIB 3 }

   extremeMplsTunnelTable  OBJECT-TYPE
      SYNTAX        SEQUENCE OF ExtremeMplsTunnelEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "The mplsTunnelTable (see RFC 3812) allows new MPLS tunnels
             to be created between an LSR and a remote endpoint, and
             existing tunnels to be reconfigured or removed.
             Note that only point-to-point tunnel segments are
             supported, although multipoint-to-point and point-
             to-multipoint connections are supported by an LSR
             acting as a cross-connect.  Each MPLS tunnel can
             thus have one out-segment originating at this LSR
             and/or one in-segment terminating at this LSR.

             Extreme Networks MPLS implementation allows tunnel instances
             with a common endpoint to be grouped at the ingress LSR to
             provide redundancy. The role of each tunnel in the group must
             be configured and is indicated by extremeMplsTunnelRedundancyType.
             The failover to a redundant tunnel is implementation dependent."

      ::= { extremeMplsTeObjects 1 }

   extremeMplsTunnelEntry OBJECT-TYPE
      SYNTAX        ExtremeMplsTunnelEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
           "An entry in this table represents an extension to an MPLS tunnel
             reported in the mplsTunnelTable (see RFC 3812). An entry can be
             created by a network administrator or by an SNMP agent as
             instructed by an MPLS signalling protocol.

            An entry in this table displays an ingress tunnel only since
             the tunnel type is a configured value at the local node and
             is not exchanged by the signalling protocol."

      INDEX {  mplsTunnelIndex,
               mplsTunnelInstance,
               mplsTunnelIngressLSRId,
               mplsTunnelEgressLSRId
            }
      ::= { extremeMplsTunnelTable 1 }

   ExtremeMplsTunnelEntry ::= SEQUENCE {
        mplsTunnelRedundancyType         INTEGER,
        mplsTunnelRedundancyStatus       INTEGER,
        mplsTunnelTransportStatus        BITS
      }

   mplsTunnelRedundancyType OBJECT-TYPE
      SYNTAX   INTEGER {
                primary      (1),
                secondary    (2)
               }

      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
           "Identifies the tunnel redundancy type associated with this
             tunnel instance. A value of primary(1) or secondary(2)
             MAY be assigned by the network administrator or by an
             SNMP manager at the time of setting up the tunnel."

      DEFVAL { primary }
      ::= { extremeMplsTunnelEntry 1 }

   mplsTunnelRedundancyStatus OBJECT-TYPE
      SYNTAX   INTEGER {
                active     (1),
                standby    (2)
               }

      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
           "Indicates the actual redundancy status of this tunnel. When
             the status is active, the tunnel is the preferred tunnel
             in the group."
      ::= { extremeMplsTunnelEntry 2 }

   mplsTunnelTransportStatus OBJECT-TYPE
      SYNTAX   BITS  {
                allowAllIp                 (0),
                allowAssignedIpOnly        (1),
                allowAllLayer2Vpn          (2),
                allowAsignedLayer2VpnOnly  (3)
            }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION
           "Indicates the type of traffic the tunnel group can be used for
             sending.
 
            When the allowAllIp(0) bit is set, IP traffic destined for 
             all IPv4 routes will be allowed over any tunnel in the group 
             marked active.
 
            When the allowAssignedIpOnly(1) bit is set, IP traffic
             destined only for IPv4 static routes that have been explicitly
             configured to use this tunnel group will be allowed.
 
            When the allowAllLayer2Vpn(2) bit is set, layer 2 VPN traffic
             for all layer 2 VPNs will be allowed over any tunnel in the 
             group marked active.
 
            When the allowAssignedLayer2VpnOnly(3) bit is set, layer 2 VPN 
             traffic destined only for pseudo-wires that have been explicitly 
             configured to use this tunnel group will be allowed."
       ::= { extremeMplsTunnelEntry 3 }
END

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


EXTREME-RTSTATS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE, TimeTicks,
                    Counter32 FROM SNMPv2-SMI
                extremeAgent    FROM EXTREME-BASE-MIB;

        extremeRtStats MODULE-IDENTITY
                LAST-UPDATED "9906240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION 
                        "Extreme real time stats related objects"
        ::= { extremeAgent 11 }

          extremeRtStatsTable OBJECT-TYPE
              SYNTAX SEQUENCE OF ExtremeRtStatsEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "A list of real time stats entries."
              ::= { extremeRtStats 1 }

          extremeRtStatsEntry OBJECT-TYPE
              SYNTAX ExtremeRtStatsEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "The last sample of Ethernet statistics on a
                  particular Ethernet interface.  This sample is
                  associated with the RMON historyControlEntry
          which set up the parameters for a regular collection
          of these samples."
              INDEX { extremeRtStatsIndex }
              ::= { extremeRtStatsTable 1 }

          ExtremeRtStatsEntry ::= SEQUENCE {
              extremeRtStatsIndex               INTEGER, 
              extremeRtStatsIntervalStart       TimeTicks,
              extremeRtStatsCRCAlignErrors      Counter32,
              extremeRtStatsUndersizePkts       Counter32,
              extremeRtStatsOversizePkts        Counter32,
              extremeRtStatsFragments           Counter32,
              extremeRtStatsJabbers             Counter32,
              extremeRtStatsCollisions          Counter32,
              extremeRtStatsTotalErrors         Counter32,
              extremeRtStatsUtilization         INTEGER 
          }

          extremeRtStatsIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The history of which this entry is a part.  The
                  history identified by a particular value of this
                  index is the same history as identified by the same
                  value of historyControlIndex of the RMON historyControl
                  table."
              ::= { extremeRtStatsEntry 1 }

          extremeRtStatsIntervalStart OBJECT-TYPE
              SYNTAX TimeTicks
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The value of sysUpTime at the start of the interval
                  over which this sample was measured."
              ::= { extremeRtStatsEntry 2 }

          extremeRtStatsCRCAlignErrors OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The number of packets received during the last
          sampling interval that had a length (excluding
          framing bits but including FCS octets) between 64
          and 1518 octets, inclusive, but had either a bad
          Frame Check Sequence (FCS) with an integral number
          of octets (FCS Error) or a bad FCS with a non-integral
          number of octets (Alignment Error)."
              ::= { extremeRtStatsEntry 3 }

          extremeRtStatsUndersizePkts OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The number of packets received during the last
                  sampling interval that were less than 64 octets
                  long (excluding framing bits but including FCS
                  octets) and were otherwise well formed."
              ::= { extremeRtStatsEntry 4 }

          extremeRtStatsOversizePkts OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The number of packets received during the
                  last sampling interval that were longer than
                  1518 octets (excluding framing bits but including
                  FCS octets) but were otherwise well formed."
              ::= { extremeRtStatsEntry 5 }

          extremeRtStatsFragments OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of packets received during the
                  last sampling interval that were less than 64 octets
                  in length (excluding framing bits but including FCS
                  octets) had either a bad Frame Check Sequence (FCS)
                  with an integral number of octets (FCS Error) or a bad
                  FCS with a non-integral number of octets (Alignment
                  Error)."
              ::= { extremeRtStatsEntry 6 }

          extremeRtStatsJabbers OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The number of packets received during the last
                  sampling interval that were longer than 1518 octets
                  (excluding framing bits but including FCS octets),
                  and  had either a bad Frame Check Sequence (FCS)
                  with an integral number of octets (FCS Error) or
                  a bad FCS with a non-integral number of octets
                  (Alignment Error)."
              ::= { extremeRtStatsEntry 7 }

          extremeRtStatsCollisions OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The best estimate of the total number of collisions
                  on this Ethernet segment during this sampling
                  interval."
              ::= { extremeRtStatsEntry 8 }

          extremeRtStatsTotalErrors OBJECT-TYPE
              SYNTAX Counter32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The total number of errors on this Ethernet segment
                  during this sampling interval. This is the sum of the
                  crc, fragments, jabbers and collisions counters over
                  this sampling interval."
              ::= { extremeRtStatsEntry 9 }

          extremeRtStatsUtilization OBJECT-TYPE
              SYNTAX INTEGER (0..10000)
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "The best estimate of the mean physical layer
                  network utilization on this interface during this
                  sampling interval, in hundredths of a percent."
              ::= { extremeRtStatsEntry 10 }


END


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

EXTREME-IDMGR-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY     FROM SNMPv2-SMI
                OBJECT-TYPE         FROM SNMPv2-SMI
                NOTIFICATION-TYPE   FROM SNMPv2-SMI
                Integer32           FROM SNMPv2-SMI
                MacAddress          FROM SNMPv2-TC
                InetAddress, InetAddressType
                                    FROM INET-ADDRESS-MIB
                InterfaceIndex      FROM IF-MIB
                extremeAgent        FROM EXTREME-BASE-MIB
                DateAndTime, AutonomousType FROM SNMPv2-TC;

        extremeIdMgr MODULE-IDENTITY
                LAST-UPDATED "201312180000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Identity Management MIB"
        ::= { extremeAgent 36 }

        extremeIdMgrTraps          OBJECT IDENTIFIER
        ::= { extremeIdMgr 1 }

        extremeIdMgrTrapPrefix     OBJECT IDENTIFIER
        ::= { extremeIdMgrTraps 0 }

        extremeIdMgrObjects        OBJECT IDENTIFIER
        ::= { extremeIdMgr 2 }
        
        extremeIdMgrConformance    OBJECT IDENTIFIER
        ::= { extremeIdMgr 3 }

--
-- Textual conventions
--

ExtremeIdMgrInetAddrDetectMethod ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Represents the method by which the IP address of a location
         was detected by the device."
    SYNTAX      BITS {
                    ipArp(1),
                    dhcpSnooping(2)
                }

ExtremeIdMgrInetAddrSecViolation ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Represents the security violations that have been detected
         on an IP address."
    SYNTAX      BITS {
                    arp(1),
                    dos(2),
                    garp(3),
                    srcIpLockdown(4),
                    dhcpSnooping(5)
                }

--
-- Notifications
--

        extremeIdMgrMemLevelChange NOTIFICATION-TYPE
                OBJECTS { extremeIdMgrTrapSeverity,
                          extremeIdMgrMemUsageLevel,
                          extremeIdMgrMemUsage,
                          extremeIdMgrMemMaxSize,
                          extremeIdMgrEffectiveStaleAgingTime }
                STATUS      current
                DESCRIPTION
                    "If Identity Management feature is enabled, this trap will be generated when the memory usage level changes."
        ::= { extremeIdMgrTrapPrefix 1 }

-- internal object
        extremeIdMgrTrapSeverity OBJECT-TYPE
                SYNTAX INTEGER {
                    critical(1),
                    error(2),
                    warning(3),
                    notice(4),
                    info(5),
                    debug-summary(6),
                    debug-verbose(7),
                    debug-data(8)
                }
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "Severity of Identity Management Trap"
        ::= { extremeIdMgrTraps 1}

        extremeIdMgrMemUsageLevel OBJECT-TYPE
                SYNTAX INTEGER {
                     normal(1),
                     high(2),
                     critical(3),
                     maximum(4)
                }
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "The current memory usage level
                    -normal(1)
                        The Memory usage is within normal usage limits, <= 80% of configured maximum database size.
                    -high(2)
                        The memory usage level is high.  Memory usage is more than 80% and less than or equal to 90% of configured maximum database size.
                    -critical(3)
                        The memory usage level is at critical level. Memory usage is more than 90% of configured maximum database size.
                    -maximum(4)
                        The memory usage level reached to maximum. Memory usage almost at 98% or more of configured maximum database size."
        ::= { extremeIdMgrTraps 2 }

        extremeIdMgrMemUsage  OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "The current memory usage (in KBytes)."
        ::= { extremeIdMgrTraps 3}

        extremeIdMgrMemMaxSize  OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "Configured identity management maximum database memory size (in KBytes)."
        ::= { extremeIdMgrTraps 4}

        extremeIdMgrEffectiveStaleAgingTime  OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "The effective stale aging time because of memory usage level change (in seconds)."
        ::= { extremeIdMgrTraps 5}

--
-- Identity manager location table
--
-- Limitations for EXOS:
-- 1. Blackhole and static FDB entries are not displayed in this table
extremeLocationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeLocationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists all locations known to the device.
         A location is identified by its MAC address and the port
         on which the location was detected. A location may be discovered
         by the device via different methods like ARP, LLDP etc. The object
         extremeLocationDetectMethods lists the methods by which the device
         discovered the location. Entries are added or removed from this table
         automatically by the device whenever a location is found or lost."
    ::= { extremeIdMgrObjects 1 }

extremeLocationEntry OBJECT-TYPE
    SYNTAX      ExtremeLocationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the extreme location table."
    INDEX   { extremeLocationMacAddress, extremeLocationInterface }
    ::= { extremeLocationTable 1 }

ExtremeLocationEntry ::=
    SEQUENCE {
        extremeLocationMacAddress       MacAddress,
        extremeLocationInterface        InterfaceIndex,
        extremeLocationDetectMethods    BITS,
        extremeLocationDetectTime       DateAndTime
    }

extremeLocationMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The MAC address of the location."
    ::= { extremeLocationEntry 1 }

extremeLocationInterface OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex of the interface on which the location
         was detected."
    ::= { extremeLocationEntry 2 }

extremeLocationDetectMethods OBJECT-TYPE
    SYNTAX      BITS {
                    fdbLearn(1),
                    ipArp(2),
                    dhcpSnooping(3),
                    lldp(4),
                    kerberos(5),
                    netloginMac(6),
                    netloginWeb(7),
                    netloginDot1x(8)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The methods by which the location was detected
         by the device."
    ::= { extremeLocationEntry 3 }

extremeLocationDetectTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time at which the location was detected by the device."
    ::= { extremeLocationEntry 4 }

--
-- Locations detection method table
--

extremeLocationDetectMethodTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeLocationDetectMethodEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists the locations known to the device
         indexed by the detection method."
    ::= { extremeIdMgrObjects 2 }

extremeLocationDetectMethodEntry OBJECT-TYPE
    SYNTAX      ExtremeLocationDetectMethodEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the extreme location detection method table."
    INDEX {
            extremeLocationDetectMethod,
            extremeLocationMacAddress,
            extremeLocationInterface
    }
    ::= { extremeLocationDetectMethodTable 1 }

ExtremeLocationDetectMethodEntry ::=
    SEQUENCE {
        extremeLocationDetectMethod     INTEGER,
        extremeLocationDetectMethodData AutonomousType
    }

extremeLocationDetectMethod OBJECT-TYPE
    SYNTAX      INTEGER {
                    fdbLearn(1),
                    ipArp(2),
                    dhcpSnooping(3),
                    lldp(4),
                    kerberos(5),
                    netloginMac(6),
                    netloginWeb(7),
                    netloginDot1x(8)
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The method by which the location was detected."
    ::= { extremeLocationDetectMethodEntry 1 }

extremeLocationDetectMethodData OBJECT-TYPE
    SYNTAX      AutonomousType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Provides additional information regarding the location. The value
         of this object depends on the detection method:

         If extremeLocationDetectMethod is lldp, extremeLocationDetectMethodData
         shall be a pointer (rowPointer) to the entry in lldpRemTable corresponding
         to this location.

         For all other values of extremeLocationDetectMethod this object shall be 0.0."
    ::= { extremeLocationDetectMethodEntry 2 }

--
-- Location VLAN table
--

extremeLocationVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeLocationVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists the VLANs associated with a location."
    ::= { extremeIdMgrObjects 3 }

extremeLocationVlanEntry OBJECT-TYPE
    SYNTAX      ExtremeLocationVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the extreme location VLAN table."
    INDEX {
            extremeLocationMacAddress,
            extremeLocationInterface,
            extremeLocationVlanIfIndex
    }
    ::= { extremeLocationVlanTable 1 }

ExtremeLocationVlanEntry ::=
    SEQUENCE {
        extremeLocationVlanIfIndex      InterfaceIndex
    }

extremeLocationVlanIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The interface index of the VLAN on which the location was detected."
    ::= { extremeLocationVlanEntry 1 }

--
-- Location IP address table
--

extremeLocationInetAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeLocationInetAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists the IP addresses associated with a location."
    ::= { extremeIdMgrObjects 4 }

extremeLocationInetAddrEntry OBJECT-TYPE
    SYNTAX      ExtremeLocationInetAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the extreme location IP addresses table."
    INDEX {
            extremeLocationMacAddress,
            extremeLocationInterface,
            extremeLocationVlanIfIndex,
            extremeLocationInetAddrType,
            extremeLocationInetAddr
    }
    ::= { extremeLocationInetAddrTable 1 }

ExtremeLocationInetAddrEntry ::=
    SEQUENCE {
        extremeLocationInetAddrType             InetAddressType,
        extremeLocationInetAddr                 InetAddress,
        extremeLocationInetAddrDetectMethod     ExtremeIdMgrInetAddrDetectMethod,
        extremeLocationInetAddrSecViolations    ExtremeIdMgrInetAddrSecViolation
    }

extremeLocationInetAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object indicates the type of IP address contained
         by extremeLocationInetAddr."
    ::= { extremeLocationInetAddrEntry 1 }

extremeLocationInetAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP address detected at the location."
    ::= { extremeLocationInetAddrEntry 2 }

extremeLocationInetAddrDetectMethod OBJECT-TYPE
    SYNTAX      ExtremeIdMgrInetAddrDetectMethod
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the method by which the IP address was
         detected on this location by the device."
    ::= { extremeLocationInetAddrEntry 3 }

extremeLocationInetAddrSecViolations OBJECT-TYPE
    SYNTAX      ExtremeIdMgrInetAddrSecViolation
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object lists the security violations that were detected
         on the IP address."
    ::= { extremeLocationInetAddrEntry 4 }

--
-- Inverse location IP address table
--

extremeLocationInetAddrInvTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeLocationInetAddrInvEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists the locations associated with an IP address."
    ::= { extremeIdMgrObjects 5 }

extremeLocationInetAddrInvEntry OBJECT-TYPE
    SYNTAX      ExtremeLocationInetAddrInvEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the extreme inverse location IP addresses table."
    INDEX {
            extremeLocationInetAddrType,
            extremeLocationInetAddr,
            extremeLocationVlanIfIndex,
            extremeLocationInterface,
            extremeLocationMacAddress
    }
    ::= { extremeLocationInetAddrInvTable 1 }

ExtremeLocationInetAddrInvEntry ::=
    SEQUENCE {
        extremeLocationInetAddrInvDetectMethod  ExtremeIdMgrInetAddrDetectMethod,
        extremeLocationInetAddrInvSecViolations ExtremeIdMgrInetAddrSecViolation
    }

extremeLocationInetAddrInvDetectMethod OBJECT-TYPE
    SYNTAX      ExtremeIdMgrInetAddrDetectMethod
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the method by which the IP address was
         detected on this location by the device."
    ::= { extremeLocationInetAddrInvEntry 1 }

extremeLocationInetAddrInvSecViolations OBJECT-TYPE
    SYNTAX      ExtremeIdMgrInetAddrSecViolation
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object lists the security violations that were detected
         on the IP address."
    ::= { extremeLocationInetAddrInvEntry 2 }

END

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

EXTREME-UPM-MIB DEFINITIONS ::= BEGIN

    IMPORTS 
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
         mib-2, Counter32, Unsigned32, Integer32,
         Gauge32    FROM SNMPv2-SMI
        DisplayString   FROM RFC1213-MIB
                extremeAgent   FROM EXTREME-BASE-MIB
                IpAddress       FROM SNMPv2-SMI;

   


    extremeUpm     MODULE-IDENTITY
                LAST-UPDATED "200402140000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme universal port management mib"
        ::= { extremeAgent 35 }


-- definition of UPM trap notifications.

upmNotificationTrap OBJECT IDENTIFIER
     ::= { extremeUpm 1 }
upmConfig  OBJECT IDENTIFIER
     ::= { extremeUpm 2 }

upmProfileEventExecution NOTIFICATION-TYPE
            OBJECTS { upmProfileName,
              upmExecutionId,
              upmEventType,
              upmExecutionStatus,
              upmPort,
          upmProfileExecVars,
          upmTimerName
            }
            STATUS      current
        DESCRIPTION
                "This trap will be generated, when a profile is executed."
                ::= { upmNotificationTrap 1 }

upmProfileName OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The textual string identifying the name of the profile."
    ::= { upmConfig 1 }

upmExecutionId OBJECT-TYPE
    SYNTAX Unsigned32 (1..4294967296)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The value uniquely identifies the execution of a UPM profile. Switch stores history of 100 last run executions."
    ::= { upmConfig 2 }


upmEventType OBJECT-TYPE
    SYNTAX INTEGER {
        devicedetect(1),
        deviceundetect(2),
        userauthenticated(3),
        userunauthenticated(4),
        upmTimer(5),
        userrequest(7)
    }
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The type of the event that triggered the profile execution."
    ::= { upmConfig 3 }

upmExecutionStatus OBJECT-TYPE
    SYNTAX INTEGER {
        success (1),
        failure (2)
    }
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The state of the profile execution."

    ::= { upmConfig 4 }

upmPort OBJECT-TYPE
    SYNTAX INTEGER (1..4294967296)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The ifIndex of the port on which the profile was run. 
     Is non-zero only when there is a valid port associated when 
     the profile was run with the event. For ex: When a timer 
     fires, the port may not be valid parameter"

    ::= { upmConfig 5 }

upmProfileExecVars OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..255))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The textual string identifying the variables that were set when executing the profile."
    ::= { upmConfig 6 }


upmTimerName OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
    "The textual string identifying the timer fired when executing the profile."
    ::= { upmConfig 7 }

END

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

EXTREME-AUTOPROVISION-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY,  OBJECT-TYPE, 
                IpAddress, NOTIFICATION-TYPE   FROM SNMPv2-SMI
                DisplayString, TruthValue      FROM SNMPv2-TC
                extremeAgent                   FROM EXTREME-BASE-MIB;

        extremeAutoProvision MODULE-IDENTITY
                LAST-UPDATED "201006040000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION  
                             "Extreme Auto Provision feature MIB"

                REVISION     "201006040000Z"
                DESCRIPTION  
                             "Initial Revision"

        ::= { extremeAgent 40 }

        extremeAutoProvisionGeneral                      OBJECT IDENTIFIER       ::= { extremeAutoProvision 1 }
        extremeAutoProvisionNotificationObjects          OBJECT IDENTIFIER       ::= { extremeAutoProvision 2 }
        extremeAutoProvisionNotification                 OBJECT IDENTIFIER       ::= { extremeAutoProvision 3 }

        extremeAutoProvisionTrapPrefix                   OBJECT IDENTIFIER       ::= { extremeAutoProvisionNotification 0 }


        extremeAutoProvisionConfig      OBJECT-TYPE
                SYNTAX          TruthValue
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                               "Auto Provision configuration on the switch (enabled/disabled)."
                ::= { extremeAutoProvisionGeneral 1 }

        extremeAutoProvisionStatus NOTIFICATION-TYPE
                OBJECTS { extremeAutoProvisionResult,
                          extremeAutoProvisionIpAddress,
                          extremeAutoProvisionGateway,
                          extremeAutoProvisionTFTPServer,
                          extremeAutoProvisionConfigFileName
                        }
                STATUS      current
                DESCRIPTION
                    "This trap will reports the auto provision result (success/failed). It contains the attributes it got from the DHCP server."
        ::= { extremeAutoProvisionTrapPrefix 1 }

-- internal object
        extremeAutoProvisionResult OBJECT-TYPE
                SYNTAX INTEGER {
                       invalidConfigFileExtension(1),
                       tftpUnReachable(2),
                       fileNotExist(3),
                       success(4)
                       }   
                MAX-ACCESS accessible-for-notify
                STATUS     current
                DESCRIPTION
                           "Result of the Auto provision"
        ::= { extremeAutoProvisionNotificationObjects 1 } 
        
        extremeAutoProvisionIpAddress  OBJECT-TYPE
                SYNTAX     IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS     current
                DESCRIPTION
                           "The IP Address received from the DHCP server for this interface."
        ::= { extremeAutoProvisionNotificationObjects 2 }

        extremeAutoProvisionGateway  OBJECT-TYPE
                SYNTAX     IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS     current
                DESCRIPTION
                           "The Gateway Address received from the DHCP server for this interface."
        ::= { extremeAutoProvisionNotificationObjects 3 }
        
        extremeAutoProvisionTFTPServer  OBJECT-TYPE
                SYNTAX     IpAddress 
                MAX-ACCESS accessible-for-notify
                STATUS     current
                DESCRIPTION
                           "The IP Address of the TFTP Server got from the DHCP Server."
        ::= { extremeAutoProvisionNotificationObjects 4 }

        extremeAutoProvisionConfigFileName  OBJECT-TYPE
                SYNTAX     DisplayString
                MAX-ACCESS accessible-for-notify
                STATUS     current
                DESCRIPTION
                           "The Configuration file name got from the DHCP server which the Auto provision enabled switch will download from the TFTP Server and apply the same.
                            It can be with cfg or xsf extension."
        ::= { extremeAutoProvisionNotificationObjects 5 }

END

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

    EXTREME-SNMPV3-MIB DEFINITIONS ::= BEGIN

    IMPORTS  
        MODULE-IDENTITY                 FROM SNMPv2-SMI
		OBJECT-TYPE                     FROM SNMPv2-SMI
        DisplayString                   FROM SNMPv2-TC
        TruthValue           		FROM SNMPv2-TC
        IpAddress, Integer32            FROM SNMPv2-SMI
		extremeAgent                    FROM EXTREME-BASE-MIB
        snmpTargetAddrEntry             FROM SNMP-TARGET-MIB
        InetAddressType, InetAddress    FROM INET-ADDRESS-MIB;

        extremeSnmpv3 MODULE-IDENTITY
                LAST-UPDATED "201301071200Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme-specific SNMPv3 objects"
        ::= { extremeAgent 23 }

	extremeTarget	OBJECT IDENTIFIER ::= { extremeSnmpv3 1 }
    extremeUsm      OBJECT IDENTIFIER ::= { extremeSnmpv3 2 }
	
	extremeTargetAddrExtTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF ExtremeTargetAddrExtEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"This table is an extension to the snmpTargetAddrTable found in the 
		SNMP-TARGET-MIB. It contains Extreme Networks specific objects needed for
		each management target."
			::= { extremeTarget 1 }

	extremeTargetAddrExtEntry OBJECT-TYPE
		SYNTAX  ExtremeTargetAddrExtEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"An entry in the extremeTargetAddrExtTable."
                AUGMENTS { snmpTargetAddrEntry }
			::= { extremeTargetAddrExtTable 1 }

	ExtremeTargetAddrExtEntry ::= SEQUENCE {
		extremeTargetAddrExtIgnoreMPModel                       TruthValue,
                extremeTargetAddrExtStandardMode                TruthValue,
                extremeTargetAddrExtTrapDestIndex               Integer32,
                extremeTargetAddrExtUseEventComm                TruthValue,
                extremeTargetAddrExtTrapSrcIp                   IpAddress,
                extremeTargetAddrExtVrName                      DisplayString,
                extremeTargetAddrExtTrapSrcAddrType             InetAddressType,
                extremeTargetAddrExtTrapSrcAddr                 InetAddress
	}
	
	
	extremeTargetAddrExtIgnoreMPModel OBJECT-TYPE
		SYNTAX TruthValue
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"When this object is set to TRUE, the version of the trap/notification sent to 
		the corresponding management target (trap receiver) will be the same as in 
		releases of Extremeware prior to 7.1.0. Thus, the value of the 
		snmpTargetParamsMPModel object in the snmpTargetParamsTable will be ignored while
		determining the version of the trap/notification to be sent. When a trap-receiver
		is created via the RMON trapDestTable or from the CLI command 'configure snmp add
		trapreceiver ....', the value of this object will be set to TRUE for the 
		corresponding entry in this table."
                DEFVAL { false }
		::= { extremeTargetAddrExtEntry 1 }

	extremeTargetAddrExtStandardMode OBJECT-TYPE
		SYNTAX TruthValue
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"When this object is set to TRUE, the management target will be treated as 
		a 'standard mode' one, in that any Extreme Networks specific extra varbinds 
		present in a standards-based trap/notification will not be sent to this 
		management target. Only the varbinds defined in the standard will be sent."
                DEFVAL { false }
		::= { extremeTargetAddrExtEntry 2 }

	extremeTargetAddrExtTrapDestIndex OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"This object contains the value of the trapDestIndex in the corresponding 
		entry of the RMON trapDestTable."
		::= { extremeTargetAddrExtEntry 3 }

        extremeTargetAddrExtUseEventComm OBJECT-TYPE
                SYNTAX TruthValue
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "This object is used only when sending RMON alarms as SNMPv3 traps.
                When it is set to TRUE and an RMON risingAlarm or fallingAlarm is being sent
                for an event, then the eventCommunity in the RMON event table is compared to 
                the snmpTargetAddrName in the snmpTargetAddrTable. The alarm is sent to the 
                target only when the two are the same. This behavior is exhibited only when the
                snmpTargetParamsMPModel corresponding to the target indicates an SNMPv3 trap. For 
                SNMPv1/v2c traps, the community in the RMON trapDestTable is used for the 
                comparision, which is the 'regular' method, as per the standards.
                When this object is set to FALSE, then the RMON alarm (if being sent as an SNMPv3
                trap) is sent without using the event community for any comparision."
                DEFVAL { true }        
        ::= { extremeTargetAddrExtEntry 4 }

-- This object can be used only for IPv4 addresses. If this is set, then
-- extremeTargetAddrExtTrapSrcAddr must not be set. Similarly if
-- extremeTargetAddrExtTrapSrcAddr is set, then extremeTargetAddrExtTrapSrcIp
-- must not be set. When extremeTargetAddrExtTrapSrcAddr is set to a non IPv4
-- address, the value of this object shall be 0. When extremeTargetAddrExtTrapSrcAddr
-- is set to a IPv4 address, this object shall return the same value as
-- extremeTargetAddrExtTrapSrcAddr.
    extremeTargetAddrExtTrapSrcIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
        "This object contains the source IP address from which traps have to be sent out. 
         If this object is assigned an IP address that does not belong to the switch, 
         an error is thrown."
        DEFVAL { 0 }
        ::= { extremeTargetAddrExtEntry 5}

    extremeTargetAddrExtVrName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This object contains the virtual router name through which the SNMP Traps are being sent out. If extremeTargetAddrExtVrName is not specified then the SNMP Traps will be sent out through either VR-Mgmt or VR-Default."
        ::= { extremeTargetAddrExtEntry 6}

    extremeTargetAddrExtTrapSrcAddrType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        "This object indicates the transport type of the address contained in extremeTargetAddrExtTrapSrcAddr."
        ::= { extremeTargetAddrExtEntry 7}

    extremeTargetAddrExtTrapSrcAddr OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        "This object contains the source address the NE shall use when sending a message to the target."
        ::= { extremeTargetAddrExtEntry 8}

    extremeUsm3DESPrivProtocol OBJECT-IDENTITY
        STATUS        current
        DESCRIPTION  "The 3DES-EDE Symmetric Encryption Protocol. This is the protocol
        as specified in draft-reeder-snmpv3-usm-3desede-00."
        REFERENCE    "-Data Encryption Standard, National Institute
        of Standards and Technology.  Federal Information Processing
        Standard (FIPS) Publication 46-3,(1999, pending approval).
        Will supersede FIPS Publication 46-2.

        - Data Encryption Algorithm, American National Standards
        Institute.  ANSI X3.92-1981,(December, 1980).

        - DES Modes of Operation, National Institute of Standards
        and Technology.  Federal Information Processing Standard
        (FIPS) Publication 81,(December, 1980).

        - Data Encryption Algorithm - Modes of Operation, American
        National Standards Institute. ANSI X3.106-1983, (May 1983)."
        ::= { extremeUsm 1 }
         
    extremeUsmAesCfb192Protocol OBJECT-IDENTITY
        STATUS        current
        DESCRIPTION  "The CFB128-AES-192 Privacy Protocol."
        REFERENCE    "- Specification for the ADVANCED ENCRYPTION
        STANDARD (DRAFT). Federal Information Processing Standard
        (FIPS) Publication 197. (November 2001).

        - Dworkin, M., NIST Recommendation for Block Cipher Modes
        of Operation, Methods and Techniques (DRAFT). NIST Special
        Publication 800-38A (December 2001)."
        ::= { extremeUsm 2 }

    extremeUsmAesCfb256Protocol OBJECT-IDENTITY
        STATUS        current
        DESCRIPTION  "The CFB128-AES-256 Privacy Protocol."
        REFERENCE    "- Specification for the ADVANCED ENCRYPTION
        STANDARD (DRAFT). Federal Information Processing Standard
        (FIPS) Publication 197 (November 2001).
        - Dworkin, M., NIST Recommendation for Block Cipher Modes
        of Operation, Methods and Techniques (DRAFT). NIST Special
        Publication 800-38A (December 2001)."
        ::= { extremeUsm 3 }
    
END


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

EXTREME-TRAPPOLL-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
		OBJECT-TYPE             FROM SNMPv2-SMI
		RowStatus               FROM SNMPv2-TC
                Integer32, TimeTicks    FROM SNMPv2-SMI
                extremeAgent            FROM EXTREME-BASE-MIB;

        extremeTrapPoll MODULE-IDENTITY
                LAST-UPDATED "9801090000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme SmartTraps trap-based-polling objects"
        ::= { extremeAgent 6 }


        extremeSmartTrapRulesTable OBJECT-TYPE
        	SYNTAX	SEQUENCE OF ExtremeSmartTrapRulesEntry
        	MAX-ACCESS 	not-accessible
        	STATUS	current
        	DESCRIPTION	
			"A table of rules that are used to 
                        generate extremeSmartTraps."	
	::= { extremeTrapPoll 1 } 

        extremeSmartTrapRulesEntry OBJECT-TYPE
        	SYNTAX	ExtremeSmartTrapRulesEntry
        	MAX-ACCESS 	not-accessible
        	STATUS	current
        	DESCRIPTION	
			"Each row in the table represents a rule."
        	INDEX	{ extremeSmartTrapRulesIndex } 
	::= { extremeSmartTrapRulesTable 1 } 

        ExtremeSmartTrapRulesEntry ::= SEQUENCE {
		extremeSmartTrapRulesIndex		Integer32,
		extremeSmartTrapRulesRowStatus		RowStatus,
		extremeSmartTrapRulesDesiredOID	        OBJECT IDENTIFIER,
		extremeSmartTrapRulesSupportedOID	OBJECT IDENTIFIER,
		extremeSmartTrapRulesOperation		INTEGER,
		extremeSmartTrapRulesTrapDestIndex      Integer32
	}

        extremeSmartTrapRulesIndex 	OBJECT-TYPE
        	SYNTAX	Integer32
        	MAX-ACCESS 	read-only
        	STATUS	current
        	DESCRIPTION	
			"An index into the extremeSmartTraps rules table. "
	::= { extremeSmartTrapRulesEntry 1 }

        extremeSmartTrapRulesRowStatus 	OBJECT-TYPE
        	SYNTAX	RowStatus
        	MAX-ACCESS 	read-create
        	STATUS	current
        	DESCRIPTION	
			"Indicates the status of row. "
	::= { extremeSmartTrapRulesEntry 2 }

        extremeSmartTrapRulesDesiredOID	OBJECT-TYPE
        	SYNTAX	OBJECT IDENTIFIER
        	MAX-ACCESS 	read-create
        	STATUS	current
        	DESCRIPTION	
                "The OID for which the rule is desired. When the OID 
                specified by this object undergoes an operation 
                specified by extremeSmartTrapRulesOperation, then 
                an entry in the extremeSmartTrapInstanceTable is created."
	::= { extremeSmartTrapRulesEntry 3 }

        extremeSmartTrapRulesSupportedOID	OBJECT-TYPE
        	SYNTAX	OBJECT IDENTIFIER
        	MAX-ACCESS 	read-only
        	STATUS	current
        	DESCRIPTION	
                "The OID for which this entry is created. This is 
                based on the granularity supported by the agent 
                corresponding to the extremeSmartTrapRulesDesiredOID 
                that the management station desires. This object has a 
                value that is a prefix of, or is equal to the value of 
                ExtremeSmartTrapRulesDesiredOID. The agent specifes 
                this value before setting the extremeSmartTrapRulesRowStatus 
                to active."
	::= { extremeSmartTrapRulesEntry 4 }

        extremeSmartTrapRulesOperation	OBJECT-TYPE
        	SYNTAX	INTEGER {
			add(1),
			delete(2),
			modify(3),
			any(4)
		}
        	MAX-ACCESS 	read-create
        	STATUS	current
        	DESCRIPTION	
                "The write operations on extremeSmartTrapRulesDesiredOID 
                for which extremeSmartTrapsInstanceEntry should be created."
	::= { extremeSmartTrapRulesEntry 5 }

        extremeSmartTrapRulesTrapDestIndex OBJECT-TYPE
        	SYNTAX	Integer32
        	MAX-ACCESS 	read-create
        	STATUS	current
        	DESCRIPTION	
                "A pointer to a row in RMON2's trapDestTable that was
                created by the management station that defined 
                this rule. Any extremeSmartTraps generated by this agent due
                to this rule will be sent to the trapDestCommunity/
                trapDestAddress and will include trapDestOwner specified by 
                this trapDestTable entry.

                This also allows a manager to identify if the rule was defined 
                by itself, or by another (possibly older) instance of the 
                management server process. The manager should initiate a 
                poll only for traps received which indicate its own rules. 

                Subprocesses within a single manager might also uniquely 
                create their own entries within trapDestTable using 
                different trapDestOwner strings: when a trap is received, 
                the manager can authenticate if the trap was generated due 
                to one of its rules and route the notification to the
                appropriate subprocess."
	::= { extremeSmartTrapRulesEntry 6 }

--
-- Table for storing information about the occurence of changes 
-- according to the rules in extremeSmartTrapRulesTable.
--
-- This is a read-only table maintained by the agent. 

        extremeSmartTrapInstanceTable  OBJECT-TYPE
        	SYNTAX	SEQUENCE OF ExtremeSmartTrapInstanceEntry
        	MAX-ACCESS 	not-accessible
        	STATUS	current
        	DESCRIPTION	
		"A table representing containing information about
                which variables have changed according to the 
                rules defined in extremeSmartTrapRulesTable."
	::= { extremeTrapPoll 2 }
	
        extremeSmartTrapInstanceEntry	 OBJECT-TYPE
        	SYNTAX	ExtremeSmartTrapInstanceEntry
        	MAX-ACCESS 	not-accessible
        	STATUS	current
        	DESCRIPTION	
                "An entry corresponding to a change in value of one of 
                the OIDs defined in extremeSmartTrapRulesTable. Entries
                are indexed by a pointer to the relevant row in 
                RMON2 trapDestTable that a manager created in order to
                receive trap notifications of these events.

                Entries are created in this table whenever the value of 
                one of the OIDs defined by extremeSmartTrapRulesSupportedOID 
                changes. Entries are deleted when a get or get-next operation 
                is performed on that entry. A get operation for a non-existent 
                entry returns a noSuchInstance error."

               	INDEX { extremeSmartTrapRulesTrapDestIndex, extremeSmartTrapInstanceSubindex } 
	::= { extremeSmartTrapInstanceTable 1 } 

        ExtremeSmartTrapInstanceEntry ::= SEQUENCE {
		extremeSmartTrapInstanceSubindex	Integer32,
		extremeSmartTrapInstanceRule		Integer32,
		extremeSmartTrapInstanceChangedOid	OBJECT IDENTIFIER,
		extremeSmartTrapInstanceActualOperation	INTEGER,
		extremeSmartTrapInstanceChangeTime	TimeTicks
	}

        extremeSmartTrapInstanceSubindex OBJECT-TYPE
        	SYNTAX	Integer32 
        	MAX-ACCESS 	read-only
        	STATUS	current
        	DESCRIPTION	
                "An additional index into the table of extremeSmartTrap 
                instance data. Each row which has the same OID for the
                same management station (i.e. same cookie) is assigned
                a unique value by the agent in order to differentiate 
                between multiple instances."
	::= { extremeSmartTrapInstanceEntry 1 } 

        extremeSmartTrapInstanceRule OBJECT-TYPE
        	SYNTAX	Integer32 
        	MAX-ACCESS 	read-only
        	STATUS	current
        	DESCRIPTION	
                "The index of the rule from the 
                extremeSmartTrapRulesTable for which this entry 
                was created."
	::= { extremeSmartTrapInstanceEntry 2 } 

        extremeSmartTrapInstanceChangedOid OBJECT-TYPE
        	SYNTAX	OBJECT IDENTIFIER
        	MAX-ACCESS 	read-only
        	STATUS	current
        	DESCRIPTION	
                "The OID value that has changed."
	::= { extremeSmartTrapInstanceEntry 3 } 

        extremeSmartTrapInstanceActualOperation OBJECT-TYPE
        	SYNTAX	INTEGER {
       			add(1),
			delete(2),
			modify(3)
		}				
        	MAX-ACCESS 	read-only
        	STATUS	current
        	DESCRIPTION	
                "The operation that was recently performed on 
                this extremeSmartTrapInstanceChangedOid."
	::= { extremeSmartTrapInstanceEntry 4 } 

        extremeSmartTrapInstanceChangeTime OBJECT-TYPE
        	SYNTAX	TimeTicks
        	MAX-ACCESS 	read-only
        	STATUS	current
        	DESCRIPTION	
                "The sysUpTime when this entry was created."
	::= { extremeSmartTrapInstanceEntry 5 }
	
--
-- Flush control for Trap table
--
        extremeSmartTrapFlushInstanceTableIndex OBJECT-TYPE
        	SYNTAX	Integer32 
        	MAX-ACCESS 	read-write
        	STATUS	current
        	DESCRIPTION	
                "When this object is set, the agent will delete all rows
                from the extremeSmartTrapInstanceTable which meet the
                following rules: 
		1. The InstanceTableIndex is equal to the value obtained by 
		taking the two most significant bytes of this integer and
		right-shifting it by two bytes as an unsigned int.
		2. The InstanceTableSubIndex is less than or equal to the
                value obtained by masking this object value with 0x0000FFFF.
                If the value obtained is zero, then all rows with the specified
                InstanceTableIndex should be deleted."
	::= { extremeTrapPoll 3 } 

END

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

EXTREME-MAC-AUTH-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI
    MacAddress, TEXTUAL-CONVENTION, TruthValue
        FROM SNMPv2-TC
    InterfaceIndex
        FROM IF-MIB
    extremeAgent
        FROM EXTREME-BASE-MIB
    ;

extremeMacAuthMIB MODULE-IDENTITY
    LAST-UPDATED "201403040000Z"

    ORGANIZATION "Extreme Networks, Inc."

    CONTACT-INFO "www.extremenetworks.com"

    DESCRIPTION
        "Extreme MAC Authentication MIB.

         This MIB defines objects to control client authentication
         based on the source MAC address of the traffic received on
         a port."

    ::= { extremeAgent 44 }

extremeMacAuthObjects OBJECT IDENTIFIER ::= { extremeMacAuthMIB 1 }

--
-- MAC Authentication Client Table
--

extremeMacAuthClientTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeMacAuthClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The MAC authentication client table."
    ::= { extremeMacAuthObjects 1 }

extremeMacAuthClientEntry OBJECT-TYPE
    SYNTAX      ExtremeMacAuthClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MAC authentication table. Each entry
         represents a MAC authentication client."
    INDEX { extremeMacAuthClientAddress }
    ::= { extremeMacAuthClientTable 1 }

ExtremeMacAuthClientEntry ::=
    SEQUENCE {
        extremeMacAuthClientAddress        MacAddress,
        extremeMacAuthClientInitialize     TruthValue,
        extremeMacAuthClientReauthenticate TruthValue
    }

extremeMacAuthClientAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The MAC address of the client."
    ::= { extremeMacAuthClientEntry 1 }

extremeMacAuthClientInitialize OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to true shall cause the system to
         remove the entry for the client from extremeMacAuthClientTable.
         If the client was authenticated, it shall be un-authenticated
         prior to its removal.

         Setting this object to false has no effect.
         This object always returns false when it is read."
    ::= { extremeMacAuthClientEntry 2 }

extremeMacAuthClientReauthenticate OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to true shall cause the system to
         re-authenticate the client on all ports on which the
         client is connected.

         Setting this object to false has no effect.
         This object always returns false when it is read."
    ::= { extremeMacAuthClientEntry 3 }

END

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

EXTREME-CFGMGMT-MIB DEFINITIONS ::= BEGIN
    IMPORTS
    TEXTUAL-CONVENTION FROM SNMPv2-TC
    NOTIFICATION-TYPE  FROM SNMPv2-SMI
    MODULE-IDENTITY FROM SNMPv2-SMI
    OBJECT-TYPE     FROM SNMPv2-SMI
    Integer32, Unsigned32      FROM SNMPv2-SMI
    TruthValue      FROM SNMPv2-TC
    OBJECT-GROUP    FROM SNMPv2-CONF
    DisplayString   FROM RFC1213-MIB
    extremeAgent    FROM EXTREME-BASE-MIB
    PortList        FROM EXTREME-BASE-MIB
                  sysDescr,sysUpTime, ifDescr         FROM RFC1213-MIB
    IpAddress       FROM SNMPv2-SMI;


    extremeCfgMgmt MODULE-IDENTITY
        LAST-UPDATED "201201280000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme Configuration Management objects: objects common to all platforms"
    ::= { extremeAgent 42 }

    extremeCfgMgmtCommon OBJECT IDENTIFIER
    ::= { extremeCfgMgmt 1 }

    extremeLastSaveCfgTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExtremeLastSavedEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
               "This group of objects contain details of the last
                saved configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the
                    configuration has been changed but not saved."

        ::= { extremeCfgMgmtCommon 1 }

     extremeLastSavedEntry OBJECT-TYPE
        SYNTAX   ExtremeLastSavedEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
               "This group of objects contain details of the last
                saved configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the
                    configuration has been changed but not saved."
        INDEX { extremeLastSaveConfigSlotId }
        ::= { extremeLastSaveCfgTable 1 }

ExtremeLastSavedEntry ::=
       SEQUENCE {
              extremeLastSaveConfigSlotId
                    INTEGER,
              extremeLastSaveConfigTime
                    DisplayString,
              extremeLastSaveConfigFileName
                    DisplayString,
              extremeLastSaveConfigSource
                    INTEGER
                   }

    extremeLastSaveConfigSlotId OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION 
              "Specifies the MSM/MM module number of a switch or the slot number currently being
          used by the active stack node."
       ::= { extremeLastSavedEntry 1 }
 
    extremeLastSaveConfigTime  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..31)) 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object will return the date and time of the last 
            configuration save operation.  This data will reflect 
            the last cli or the last setting of the extremeSaveConfiguration 
            object."
    ::= { extremeLastSavedEntry 2 }

    extremeLastSaveConfigFileName  OBJECT-TYPE
        SYNTAX    DisplayString (SIZE (0..127))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object will return the configuration file name of the last save operation."
    ::= { extremeLastSavedEntry 3 }

    extremeLastSaveConfigSource OBJECT-TYPE
        SYNTAX INTEGER {
            snmp(1),
            remoteDevice(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object indicates the source of the last configuration save operation 
             for the configuration file associated with this entry, extremeLastSaveConfigFileName ."
    ::= { extremeLastSavedEntry 4 }

    extremeLastChangeCfgTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF ExtremeLastChangeCfgEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
               "This group of objects contain details of the last
                change configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the configuration has been changed but not saved."
       ::= { extremeCfgMgmtCommon 2 }

     extremeLastChangeCfgEntry OBJECT-TYPE
        SYNTAX   ExtremeLastChangeCfgEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
               "This group of objects contain details of the last
                change configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the configuration has been changed but not saved."
       INDEX { extremeLastChangeCfgSlotId }
       ::= { extremeLastChangeCfgTable 1 }

ExtremeLastChangeCfgEntry ::=
     SEQUENCE {
          extremeLastChangeCfgSlotId
                   INTEGER,
          extremeLastChangeConfigTime
                   DisplayString,
          extremeLastChangeConfigFileName
                   DisplayString,
          extremeLastChangeConfigSource
                    INTEGER
               }

    extremeLastChangeCfgSlotId OBJECT-TYPE
          SYNTAX  INTEGER (0..65535)
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION 
                 "Specifies the MSM/MM module number of a switch or the slot number currently being
          used by the active stack node."
          ::= { extremeLastChangeCfgEntry 1 } 

    extremeLastChangeConfigTime  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object will return the date and time of the last 
            configuration change operation.  This data will reflect 
            the last cli or the last setting of the extremeSaveConfiguration 
            object."
    ::= { extremeLastChangeCfgEntry 2 }

    extremeLastChangeConfigFileName  OBJECT-TYPE
        SYNTAX    DisplayString (SIZE (0..127))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object will return the configuration file name of the last change operation."
    ::= { extremeLastChangeCfgEntry 3 }

    extremeLastChangeConfigSource OBJECT-TYPE
        SYNTAX INTEGER {
            snmp(1),
            remoteDevice(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object indicates the source of the last configuration change operation 
             for extremeLastChangeConfigFileName ."
    ::= { extremeLastChangeCfgEntry 4 }


--
--  Configuration save objects.  These objects are used by the network
--  management application to save configuration changes into the
--  persistent store.  There are 2 stores on the device; a primary and
--  a secondary.

--
-- Groups
--
    extremeCfgGroups OBJECT IDENTIFIER ::= { extremeCfgMgmt 9 }

      extremeRunningLastSavedCfgGroup OBJECT-GROUP

          OBJECTS {
	      extremeLastSaveConfigTime, 
	      extremeLastSaveConfigFileName,
	      extremeLastSaveConfigSource
          }
          STATUS          current
          DESCRIPTION
               "This group of objects contain details of the last 
                saved configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the
                    configuration has been changed but not saved."
          ::= { extremeCfgGroups 1 }

      extremeRunningLastChangeCfgGroup OBJECT-GROUP

          OBJECTS {
	      extremeLastChangeConfigTime, 
	      extremeLastChangeConfigFileName,
	      extremeLastChangeConfigSource
          }
          STATUS          current
          DESCRIPTION
               "This group of objects contain details of the last 
                change configuration operation for the running configure.

                    If the value of extremeLastChangeConfigTime is
                    greater than extremeLastSaveConfigTime, the
                    configuration has been changed but not saved."
          ::= { extremeCfgGroups 2 }


--
-- Trap Support Objects. 
--
    extremeCfgMgmtTrapPrefix OBJECT IDENTIFIER ::= { extremeCfgMgmt 10 }

    cfgMgmtTraps OBJECT IDENTIFIER  ::= { extremeCfgMgmtTrapPrefix 0 }

--  The following are support objects for the Configuration Management traps.
    cfgMgmtControl OBJECT IDENTIFIER ::= { extremeCfgMgmt 11 }

    cfgMgmtConfigSaveTrapEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This variable indicates whether the system produces the
                cfgMgmtConfigSaveTrap notification. A false value will prevent
                notifications from being generated by this system."
        DEFVAL          { false }
    ::= { cfgMgmtControl 1 }


    cfgMgmtConfigChangeTrapEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This variable indicates whether the system produces the
                cfgMgmtConfigChangeTrap notification. A false value will prevent
                notifications from being generated by this system."
        DEFVAL          { false }
    ::= { cfgMgmtControl 2 }

    cfgMgmtConfigSaveTrap NOTIFICATION-TYPE
        OBJECTS {
                    extremeLastSaveConfigTime, 
                    extremeLastSaveConfigFileName,
                    extremeLastSaveConfigSource
        }
        STATUS             current
        DESCRIPTION
           "This notification indicates that the running
           configuration of the managed system has updated
           the NVRAM storage of the current configuration."
   ::= { cfgMgmtTraps 1 }

    cfgMgmtConfigChangeTrap NOTIFICATION-TYPE
        OBJECTS {
	            extremeLastChangeConfigTime, 
	            extremeLastChangeConfigFileName,
	            extremeLastChangeConfigSource
        }
        STATUS             current
        DESCRIPTION
           "This notification contain details of the last
           change configuration operation for the running configure."
   ::= { cfgMgmtTraps 2 }

END

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

ENTERASYS-RADIUS-AUTH-CLIENT-MIB DEFINITIONS ::= BEGIN

--  enterasys-radius-auth-client-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Enterasys
--  Networks' RADIUS client functionality.

--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Enterasys Networks products.

--  Copyright August, 2000-2009 Enterasys Networks, Inc.


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    TruthValue, RowStatus
        FROM SNMPv2-TC
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES;

etsysRadiusAuthClientMIB MODULE-IDENTITY
    LAST-UPDATED "201404221656Z"  -- Tue Apr  22 16:56 GMT 2014
    ORGANIZATION "Extreme Networks, Inc"
    CONTACT-INFO
        "Postal:  Extreme Networks
                  9 Northeastern Blvd.
                  Salem, NH 03079 USA

         Phone:   +1 603 952 5000
         E-mail:  support@extremenetworks.com
         WWW:     http://www.extremenetworks.com"

    DESCRIPTION
        "The Enterasys Networks Proprietary MIB module for entities 
         implementing the client side of the Remote Access Dialin
         User Service (RADIUS) authentication protocol (RFC2865).
       
         This MIB provides read-write access to configuration objects
         not provided in the standard RADIUS Authentication Client 
         MIB (RFC2618)."

    REVISION    "201404221656Z"  -- Tue Apr  22 16:56 GMT 2014     
    DESCRIPTION "Addition of per realm retries, per realm status 
                 change, server client IP addresses and server 
                 virtual router configuration"            

    REVISION    "201302121656Z"  -- Tue Feb  12 16:56 GMT 2013
    DESCRIPTION "Addition of retransmission algorithm and per server
                 sticky user counters and configuration."       

    REVISION    "201103101838Z"  -- Thu Mar  10 19:18 UTC 2011
    DESCRIPTION "Addition of etsysRadiusAuthClientAttrMgmtPassword."

    REVISION    "200908061838Z"  -- Thu Aug  6 18:38 UTC 2009
    DESCRIPTION "Added retry and timeout per RADIUS server. The fields are:
                 etsysRadiusAuthClientServerTimeout,
                 etsysRadiusAuthClientServerRetries.  Fixed MAX-ACCESS
                 clause for etsysRadiusAuthClientServerRealmType."

    REVISION    "200507291348Z"  -- Fri Jul 29 13:48 UTC 2005
    DESCRIPTION "Changed the syntax type of the 
                 etsysRadiusAuthClientServerRealmType leaf in the SEQUENCE
                 statement to INTEGER to match the actual OBJECT-TYPE
                 definition."
    
    REVISION    "200407271953Z"  -- Tue Jul 27 19:53 GMT 2004
    DESCRIPTION "Added the etsysRadiusAuthClientServerRealmType leaf
                 to the etsysRadiusAuthServerTable to allow the
                 provisioning of servers for specific purposes."

    REVISION    "200311061823Z"  -- Thu Nov  6 18:23 GMT 2003
    DESCRIPTION "Updated the comments and format.  Changed the status
                 of the etsysRadiusAuthClientServerClearTime and
                 etsysRadiusAuthClientAuthType objects to deprecated."

    REVISION    "200201241557Z"  -- Thu Jan 24 15:57 GMT 2002
    DESCRIPTION "Changed { etsysRadiusAuthClientOID } to
                 { etsysModules 4 } so that the released MIB would work
                 with the NetSNMP stack that is currently being used by
                 NetSight."

    REVISION    "200011080000Z" -- 08 November 2000
    DESCRIPTION "Initial version"

    ::= { etsysModules 4 }


-- -------------------------------------------------------------
-- Branches of the Enterasys RADIUS Auth Client MIB
-- -------------------------------------------------------------

etsysRadiusAuthClientMIBObjects     OBJECT IDENTIFIER 
       ::= { etsysRadiusAuthClientMIB 1 }

-- -------------------------------------------------------------
-- RADIUS Auth Client Scalars
-- -------------------------------------------------------------

etsysRadiusAuthClientRetryTimeout OBJECT-TYPE
    SYNTAX         Integer32 (1..240)
    UNITS          "seconds"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "The number of seconds to wait for a RADIUS Server to respond to
         a request.  Maintaining the value of this object across agent
         reboots is REQUIRED."
    ::= { etsysRadiusAuthClientMIBObjects 1 }

etsysRadiusAuthClientRetries OBJECT-TYPE
    SYNTAX         Integer32 (0..20)
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "The number of times to resend an authentication packet if a
         RADIUS Server does not respond to a request.  Maintaining the
         value of this object across agent reboots is REQUIRED."
    ::= { etsysRadiusAuthClientMIBObjects 2 }

etsysRadiusAuthClientEnable OBJECT-TYPE
    SYNTAX         INTEGER {
                       enable(1),
                       disable(2)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "Controls and indicates the operational state of the RADIUS
         client functionality.  Maintaining the value of this object
         across agent reboots is REQUIRED."
    ::= { etsysRadiusAuthClientMIBObjects 3 }

etsysRadiusAuthClientAuthType OBJECT-TYPE
    SYNTAX         INTEGER {
                       mac(1),
                       eapol(2)
                   }
    MAX-ACCESS     read-write
    STATUS         deprecated
    DESCRIPTION
        "This indicates which method is being used for 
         authentication.

         mac(1)   - indicates MAC address authentication
         eapol(2) - indicates EAPOL authentication

         This list of enumeration constants is subject to
         change. This parameter value is maintained across 
         system reboots."
   ::= { etsysRadiusAuthClientMIBObjects 4 }

-- -------------------------------------------------------------
-- RADIUS Auth Client Server Table
-- -------------------------------------------------------------

etsysRadiusAuthServerTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF EtsysRadiusAuthServerEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION
       "A list of RADIUS servers that this client may attempt to use."
    ::= { etsysRadiusAuthClientMIBObjects 5 }

etsysRadiusAuthServerEntry OBJECT-TYPE
    SYNTAX         EtsysRadiusAuthServerEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION
       "A RADIUS server that this client may attempt to use."
    INDEX { etsysRadiusAuthServerIndex }
    ::= { etsysRadiusAuthServerTable 1 }

EtsysRadiusAuthServerEntry ::= SEQUENCE {
    etsysRadiusAuthServerIndex                         Integer32,
    etsysRadiusAuthClientServerAddressType             InetAddressType,
    etsysRadiusAuthClientServerAddress                 InetAddress,
    etsysRadiusAuthClientServerPortNumber              Integer32,
    etsysRadiusAuthClientServerSecret                  OCTET STRING,
    etsysRadiusAuthClientServerSecretEntered           TruthValue,
    etsysRadiusAuthClientServerClearTime               Integer32,
    etsysRadiusAuthClientServerStatus                  RowStatus,
    etsysRadiusAuthClientServerRealmType               INTEGER,
    etsysRadiusAuthClientServerTimeout                 Integer32,
    etsysRadiusAuthClientServerRetries                 Integer32,
    etsysRadiusAuthClientServerStickyMaxSessions       Unsigned32,
    etsysRadiusAuthClientServerStickyCurSessions       Unsigned32,
    etsysRadiusAuthClientServerClientAddressType       InetAddressType,
    etsysRadiusAuthClientServerClientAddress           InetAddress,
    etsysRadiusAuthClientServerClientVirtualRouterName OCTET STRING
}

etsysRadiusAuthServerIndex OBJECT-TYPE
    SYNTAX         Integer32 (1..2147483641 | 2147483642..2147483647)
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION
        "A number uniquely identifying each conceptual row in the
         etsysRadiusAuthServerTable.

         etsysRadiusAuthServerIndices with range between 2147483642 and
         2147483647 indicate the highest priority servers stored for 
         backwards compatibility.  After consideration of these special 
         indice values this value indicates the relative priority of the
         servers.

         Relative priority of the servers is used when using the standard 
         authentication retransmission algorithm.

         Maintaining the value of etsysRadiusAuthServerIndex for all
         active(1) entries across agent reboots is REQUIRED."
    ::= { etsysRadiusAuthServerEntry 1 }

etsysRadiusAuthClientServerAddressType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This object specifies how etsysRadiusAuthClientServerAddress
         is encoded.  Support for all possible enumerations defined by
         InetAddressType is NOT REQUIRED."
    DEFVAL { ipv4 }
    ::= { etsysRadiusAuthServerEntry 2 }

etsysRadiusAuthClientServerAddress OBJECT-TYPE
    SYNTAX         InetAddress (SIZE(1..64))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The encoded unicast IP address or hostname of a RADIUS
         server.  RADIUS requests will be sent to this address.
         If this address is a DNS hostname, then that hostname
         SHOULD be resolved into an IP address each time an
         authentication session is initialized."
    ::= { etsysRadiusAuthServerEntry 3 }

etsysRadiusAuthClientServerPortNumber  OBJECT-TYPE
    SYNTAX         Integer32 (1..65535)
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The UDP port number (0-65535) the client will use
         to send RADIUS requests to this server."
    DEFVAL { 1812 }
    ::= { etsysRadiusAuthServerEntry 4 }

etsysRadiusAuthClientServerSecret  OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..255))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This object is the secret shared between the RADIUS 
         authentication server and the RADIUS client.

         On a read operation this object MUST return a zero length
         string.

         Writing this object with a zero length string clears the
         secret."
    ::= { etsysRadiusAuthServerEntry 5 }

etsysRadiusAuthClientServerSecretEntered  OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
        "true(1)  - Indicates that etsysRadiusAuthClientServerSecret was
                    last set with some value other than the empty string.

         false(2) - Indicates that etsysRadiusAuthClientServerSecret has
                    never been set, or was last set to the empty string."
    ::= { etsysRadiusAuthServerEntry 6 }

etsysRadiusAuthClientServerClearTime OBJECT-TYPE
    SYNTAX         Integer32 (1..2147483647)
    UNITS          "seconds"
    MAX-ACCESS     read-create
    STATUS         deprecated
    DESCRIPTION   
        "The number of seconds elapsed since the counters were last
         cleared.  

         Writing the value zero will cause the servers counters to be
         cleared and the clear time will be set to zero.  Writing any
         value other than zero will have no effect."
    ::= { etsysRadiusAuthServerEntry 7 }

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

         active
            - The server is available for performing RADIUS operations.
              Other writable leaves in this row MUST NOT be modified
              while the row is in the active state.

         notInService
            - The entry is fully configured but is not available for
              performing RADIUS  operations.  Conceptual rows with this
              status MAY be deleted at the discretion of the agent,
              at which time it will be treated as if destroy(6) was SET
              to this object.

         notReady
            - The entry exists in the agent, but is missing information
              necessary in order to be available for use by the managed
              device (i.e., one or more required columns in the
              conceptual row have not been instantiated);

         createAndGo
            - Not possible.

         createAndWait
            - Creates a new instance of a conceptual row, but does not
              make it available for use by the managed device.

         destroy
            - This will remove the conceptual row from the table and
              make it unavailable for RADIUS client operations.  This
              MUST also cause any persistent data related to this row
              to be removed from the system.

          Maintaining active(1) entries across agent reboots is
          REQUIRED."

    ::= { etsysRadiusAuthServerEntry 8 }

etsysRadiusAuthClientServerRealmType OBJECT-TYPE
    SYNTAX         INTEGER {
                       any(1),
                       mgmtAccess(2),
                       networkAccess(3),
                       nms(4)
                   }
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This object allows a server to be restricted to providing
         authentication services to certain classes of access methods.

         any(1)            - the server will be available to
                             authenticate users originating from
                             either the mgmtAccess or networkAccess
                             realms.

         mgmtAccess(2)     - the server will only be available for
                             authenticating users that have requested
                             management access via the console, telnet,
                             SSH, HTTP, etc.

         networkAccess(3)  - the server will only be available for
                             authenticating users that are attempting
                             to gain access to the network via 802.1X,
                             Port Web Authentication, MAC Authentication,
                             etc.
         nms(4)            - the server will only be available for
                             authenticating users that are attempting
                             to gain access to the network via network 
                             virtualization or virtual machine tracking
                             using a network management system.  This realm
                             type is only allowed for backwards compatibility
                             and is not included when any is specified.
        
         Non-default values for this object should be used when there is
         a desire to have one set of servers used for authenticating
         management access requests and a different set used for
         authenticating network access requests.  When this object has
         the value of any(1) then the associated server will be in each
         of the mgmtAccess and networkAccess sets.  The precedence order 
         defined by the relative value of the etsysRadiusAuthServerIndex
         will be maintained within each set of servers."
    DEFVAL { any }
    ::= { etsysRadiusAuthServerEntry 9 }

etsysRadiusAuthClientServerTimeout OBJECT-TYPE
    SYNTAX Integer32 (-1 | 1..240)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The number of seconds to wait for a RADIUS Server to respond to
         a request.  A value of -1 indicates that the server timeout 
         specified by etsysRadiusAuthClientRetryTimeout should be used 
         for this server.  Maintaining the value of this object across 
         agent reboots is REQUIRED."
    DEFVAL { -1 }
    ::= { etsysRadiusAuthServerEntry 10 }

etsysRadiusAuthClientServerRetries OBJECT-TYPE
    SYNTAX Integer32 (-1 | 0..20)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The number of times to resend an authentication packet if a
         RADIUS Server does not respond to a request.  A value of -1 
         indicates that the server retries specified by 
         etsysRadiusAuthClientRetries should be used for this server.  
         Maintaining the value of this object across agent reboots is 
         REQUIRED."
    DEFVAL { -1 }
    ::= { etsysRadiusAuthServerEntry 11 }

etsysRadiusAuthClientServerStickyMaxSessions OBJECT-TYPE
    SYNTAX Unsigned32 (0..65535)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The maximum number of sessions associated with this server when 
         using the sticky round robin authentication retransmission 
         algorithm.  This value is not used when other retransmission 
         algorithms are being utilized.

         Sessions that are successfully authenticated with this server
         are considered associated.

         Maintaining the value of this object across agent reboots is 
         REQUIRED."
    ::= { etsysRadiusAuthServerEntry 12 }

etsysRadiusAuthClientServerStickyCurSessions OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current number of sessions associated with this server when 
         using the sticky round robin authentication retransmission 
         algorithm.  This value is not used when other retransmission 
         algorithms are being utilized.

         Sessions that are successfully authenticated with this server
         are considered associated."
    ::= { etsysRadiusAuthServerEntry 13 }

etsysRadiusAuthClientServerClientAddressType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This object specifies how etsysRadiusAuthClientServerClientAddress
         is encoded.  Support for all possible enumerations defined by
         InetAddressType is NOT REQUIRED."
    DEFVAL { ipv4 }
    ::= { etsysRadiusAuthServerEntry 14 }

etsysRadiusAuthClientServerClientAddress OBJECT-TYPE
    SYNTAX         InetAddress (SIZE(1..64))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The encoded unicast IP address of a local system interface.  
         RADIUS requests will be sent from this address."
    ::= { etsysRadiusAuthServerEntry 15 }

etsysRadiusAuthClientServerClientVirtualRouterName OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..32))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The name of the local system virtual router that traffic 
         sent to this RADIUS server should be associated with.

         Writing this object with a zero length string clears the
         virtual router name for this server."
    ::= { etsysRadiusAuthServerEntry 16 }

-- -------------------------------------------------------------
-- Additional RADIUS Auth Client Scalars
-- -------------------------------------------------------------

etsysRadiusAuthClientAttrMgmtPassword OBJECT-TYPE
      SYNTAX         INTEGER {
                             standard(1),
                             mschapv2(2)
                     }
      MAX-ACCESS     read-write
      STATUS         current
      DESCRIPTION
                "This value indicates which method is being used to send 
                 management access passwords to the RADIUS server.  

                 standard(1) - Use the User-Password attribute at defined in
                               RFC2865
                 mschapv2(2) - Use the MS-CHAP2-Response attribute as defined 
                               in RFC2548

                 This parameter value is maintained across system reboots."
      ::= { etsysRadiusAuthClientMIBObjects 6 }

etsysRadiusAuthClientRetransmissionAlgorithm OBJECT-TYPE
    SYNTAX         INTEGER {
                       standard(1),
                       roundRobin(2),
                       stickyRoundRobin(3)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "This indicates which method is being used for the 
         authentication retransmission algorithm.

         standard(1) - this is the legacy Enterasys authentication
          retransmission algorithm.  It is a combination of back off
          where the highest priority server is always used first for
          every authentication transaction and round robin where 
          if the highest priority server is unable to respond within
          the configured timeout period the software immediately moves
          to the next highest priority server in the list.

         roundRobin(2) - Each new authentication transaction uses the 
          next highest priority server from the server that was initially
          used for the transaction prior. After the lowest priority server
          in the list is used the next transaction will use the highest 
          priority server.

         stickyRoundRobin(3) - Each new authentication transaction uses the 
          next highest priority server as in roundRobin except when that 
          session is either currently associated with a server already or
          has been associated with a server in the past.  
          etsysRadiusAuthClientServerStickyMaxSessions and 
          etsysRadiusAuthClientServerStickyCurSessions values are used 
          to determine when previously associated sessions need to be 
          associated with less used servers.

         This list of enumeration constants is subject to
         change. This parameter value is maintained across 
         system reboots."
   ::= { etsysRadiusAuthClientMIBObjects 7 }

etsysRadiusAuthClientMgmtRetryTimeout OBJECT-TYPE
    SYNTAX         Integer32 (-1 | 1..240)
    UNITS          "seconds"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "The number of seconds to wait for a RADIUS Server to respond to
         a request when processing management sessions.  Maintaining the 
         value of this object across agent reboots is REQUIRED.  
         A value of -1 indicates that the value in 
         etsysRadiusAuthClientRetryTimeout should be used."
    DEFVAL { -1 }
    ::= { etsysRadiusAuthClientMIBObjects 8 }

etsysRadiusAuthClientNetworkRetryTimeout OBJECT-TYPE
    SYNTAX         Integer32 (-1 | 1..240)
    UNITS          "seconds"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "The number of seconds to wait for a RADIUS Server to respond to
         a request when procesing network sessions.  Maintaining the 
         value of this object across agent reboots is REQUIRED.  
         A value of -1 indicates that the value in 
         etsysRadiusAuthClientRetryTimeout should be used."
    DEFVAL { -1 }
    ::= { etsysRadiusAuthClientMIBObjects 9 }

etsysRadiusAuthClientNmsRetryTimeout OBJECT-TYPE
    SYNTAX         Integer32 (-1 | 1..240)
    UNITS          "seconds"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "The number of seconds to wait for a RADIUS Server to respond to
         a request when procesing NMS sessions.  Maintaining the 
         value of this object across agent reboots is REQUIRED.  
         A value of -1 indicates that the value in 
         etsysRadiusAuthClientRetryTimeout should be used."
    DEFVAL { -1 }     
    ::= { etsysRadiusAuthClientMIBObjects 10 }

etsysRadiusAuthClientMgmtEnable OBJECT-TYPE
    SYNTAX         INTEGER {
                       unset(0),
                       enable(1),
                       disable(2)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "Controls and indicates the operational state of the RADIUS
         client functionality for management sessions.  Maintaining
         the value of this object across agent reboots is REQUIRED. 
         The unset value (0) indicates that the value in 
         etsysRadiusAuthClientEnable should be used."
    DEFVAL { unset }     
    ::= { etsysRadiusAuthClientMIBObjects 11 }

etsysRadiusAuthClientNetworkEnable OBJECT-TYPE
    SYNTAX         INTEGER {
                       unset(0),
                       enable(1),
                       disable(2)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "Controls and indicates the operational state of the RADIUS
         client functionality for network sessions.  Maintaining
         the value of this object across agent reboots is REQUIRED. 
         The unset value (0) indicates that the value in 
         etsysRadiusAuthClientEnable should be used."
    DEFVAL { unset }
    ::= { etsysRadiusAuthClientMIBObjects 12 }

-- ------------------------------------
-- Conformance information
-- ------------------------------------

etsysRadiusAuthClientMIBConformance OBJECT IDENTIFIER
          ::= { etsysRadiusAuthClientMIB 2 }

etsysRadiusAuthClientMIBCompliances OBJECT IDENTIFIER
          ::= { etsysRadiusAuthClientMIBConformance 1 }

etsysRadiusAuthClientMIBGroups      OBJECT IDENTIFIER
          ::= { etsysRadiusAuthClientMIBConformance 2 }


-- ------------------------------------
-- Units of conformance
-- ------------------------------------

etsysRadiusAuthClientMIBGroup OBJECT-GROUP
    OBJECTS {
        etsysRadiusAuthClientRetryTimeout,
        etsysRadiusAuthClientRetries,
        etsysRadiusAuthClientEnable,
        etsysRadiusAuthClientAuthType,
        etsysRadiusAuthClientServerAddressType,
        etsysRadiusAuthClientServerAddress,
        etsysRadiusAuthClientServerPortNumber,
        etsysRadiusAuthClientServerSecret,
        etsysRadiusAuthClientServerSecretEntered,
        etsysRadiusAuthClientServerClearTime,
        etsysRadiusAuthClientServerStatus
    }
    STATUS  deprecated
    DESCRIPTION
        "The basic collection of objects providing a proprietary
         extension to the standard RADIUS Client MIB. 

         This MIB provides read-write access to configuration objects
         not provided in the standard RADIUS Authentication Client 
         MIB (RFC2618)."
     ::= { etsysRadiusAuthClientMIBGroups 1 }

etsysRadiusAuthClientMIBGroupV2 OBJECT-GROUP
    OBJECTS {
        etsysRadiusAuthClientRetryTimeout,
        etsysRadiusAuthClientRetries,
        etsysRadiusAuthClientEnable,
        etsysRadiusAuthClientServerAddressType,
        etsysRadiusAuthClientServerAddress,
        etsysRadiusAuthClientServerPortNumber,
        etsysRadiusAuthClientServerSecret,
        etsysRadiusAuthClientServerSecretEntered,
        etsysRadiusAuthClientServerStatus,
        etsysRadiusAuthClientServerRealmType
    }
    STATUS  deprecated
    DESCRIPTION
        "The basic collection of objects providing a proprietary
         extension to the standard RADIUS Client MIB. 

         This MIB provides read-write access to configuration objects
         not provided in the standard RADIUS Authentication Client 
         MIB (RFC2618)."
     ::= { etsysRadiusAuthClientMIBGroups 2 }

etsysRadiusAuthClientMIBGroupV3 OBJECT-GROUP
    OBJECTS {
        etsysRadiusAuthClientRetryTimeout,
        etsysRadiusAuthClientRetries,
        etsysRadiusAuthClientEnable,
        etsysRadiusAuthClientServerAddressType,
        etsysRadiusAuthClientServerAddress,
        etsysRadiusAuthClientServerPortNumber,
        etsysRadiusAuthClientServerSecret,
        etsysRadiusAuthClientServerSecretEntered,
        etsysRadiusAuthClientServerStatus,
        etsysRadiusAuthClientServerRealmType,
        etsysRadiusAuthClientServerTimeout,
        etsysRadiusAuthClientServerRetries,
        etsysRadiusAuthClientAttrMgmtPassword
    }
    STATUS  deprecated
    DESCRIPTION
        "The basic collection of objects providing a proprietary
         extension to the standard RADIUS Client MIB.

         This MIB provides read-write access to configuration objects
         not provided in the standard RADIUS Authentication Client
         MIB (RFC2618)."
     ::= { etsysRadiusAuthClientMIBGroups 3 }

etsysRadiusAuthClientMIBGroupV4 OBJECT-GROUP
    OBJECTS {
        etsysRadiusAuthClientRetryTimeout,
        etsysRadiusAuthClientRetries,
        etsysRadiusAuthClientEnable,
        etsysRadiusAuthClientServerAddressType,
        etsysRadiusAuthClientServerAddress,
        etsysRadiusAuthClientServerPortNumber,
        etsysRadiusAuthClientServerSecret,
        etsysRadiusAuthClientServerSecretEntered,
        etsysRadiusAuthClientServerStatus,
        etsysRadiusAuthClientServerRealmType,
        etsysRadiusAuthClientServerTimeout,
        etsysRadiusAuthClientServerRetries,
        etsysRadiusAuthClientAttrMgmtPassword
    }
    STATUS  deprecated
    DESCRIPTION
        "The basic collection of objects providing a proprietary
         extension to the standard RADIUS Client MIB.

         This MIB provides read-write access to configuration objects
         not provided in the standard RADIUS Authentication Client
         MIB (RFC2618)."
     ::= { etsysRadiusAuthClientMIBGroups 4 }

etsysRadiusAuthClientMIBGroupV5 OBJECT-GROUP
    OBJECTS {
        etsysRadiusAuthClientRetryTimeout,
        etsysRadiusAuthClientRetries,
        etsysRadiusAuthClientEnable,
        etsysRadiusAuthClientServerAddressType,
        etsysRadiusAuthClientServerAddress,
        etsysRadiusAuthClientServerPortNumber,
        etsysRadiusAuthClientServerSecret,
        etsysRadiusAuthClientServerSecretEntered,
        etsysRadiusAuthClientServerStatus,
        etsysRadiusAuthClientServerRealmType,
        etsysRadiusAuthClientServerTimeout,
        etsysRadiusAuthClientServerRetries,
        etsysRadiusAuthClientAttrMgmtPassword,
        etsysRadiusAuthClientServerStickyMaxSessions,
        etsysRadiusAuthClientServerStickyCurSessions,
        etsysRadiusAuthClientRetransmissionAlgorithm
    }
    STATUS  deprecated
    DESCRIPTION
        "The basic collection of objects providing a proprietary
         extension to the standard RADIUS Client MIB.

         This MIB provides read-write access to configuration objects
         not provided in the standard RADIUS Authentication Client
         MIB (RFC2618)."
     ::= { etsysRadiusAuthClientMIBGroups 5 }

etsysRadiusAuthClientMIBGroupV6 OBJECT-GROUP
    OBJECTS {
        etsysRadiusAuthClientRetryTimeout,
        etsysRadiusAuthClientRetries,
        etsysRadiusAuthClientEnable,
        etsysRadiusAuthClientServerAddressType,
        etsysRadiusAuthClientServerAddress,
        etsysRadiusAuthClientServerPortNumber,
        etsysRadiusAuthClientServerSecret,
        etsysRadiusAuthClientServerSecretEntered,
        etsysRadiusAuthClientServerStatus,
        etsysRadiusAuthClientServerRealmType,
        etsysRadiusAuthClientServerTimeout,
        etsysRadiusAuthClientServerRetries,
        etsysRadiusAuthClientAttrMgmtPassword,
        etsysRadiusAuthClientServerStickyMaxSessions,
        etsysRadiusAuthClientServerStickyCurSessions,
        etsysRadiusAuthClientRetransmissionAlgorithm,
        etsysRadiusAuthClientServerClientAddressType,
        etsysRadiusAuthClientServerClientAddress,
        etsysRadiusAuthClientServerClientVirtualRouterName,
        etsysRadiusAuthClientMgmtRetryTimeout,
        etsysRadiusAuthClientNetworkRetryTimeout,
        etsysRadiusAuthClientNmsRetryTimeout,
        etsysRadiusAuthClientMgmtEnable,
        etsysRadiusAuthClientNetworkEnable
    }
    STATUS  current
    DESCRIPTION
        "The basic collection of objects providing a proprietary
         extension to the standard RADIUS Client MIB.

         This MIB provides read-write access to configuration objects
         not provided in the standard RADIUS Authentication Client
         MIB (RFC2618)."
     ::= { etsysRadiusAuthClientMIBGroups 6 }

-- ------------------------------------
-- Compliance statements
-- ------------------------------------

etsysRadiusClientMIBCompliance MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for authentication clients
         implementing the RADIUS Authentication Client MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { etsysRadiusAuthClientMIBGroup }

    ::= { etsysRadiusAuthClientMIBCompliances 1 }

etsysRadiusClientMIBComplianceV2 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for authentication clients
         implementing the RADIUS Authentication Client MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { etsysRadiusAuthClientMIBGroupV2 }

    ::= { etsysRadiusAuthClientMIBCompliances 2 }

etsysRadiusClientMIBComplianceV3 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for authentication clients
         implementing the RADIUS Authentication Client MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { etsysRadiusAuthClientMIBGroupV3 }

    ::= { etsysRadiusAuthClientMIBCompliances 3 }

etsysRadiusClientMIBComplianceV4 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for authentication clients
         implementing the RADIUS Authentication Client MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { etsysRadiusAuthClientMIBGroupV4 }

    ::= { etsysRadiusAuthClientMIBCompliances 4 }

etsysRadiusClientMIBComplianceV5 MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
        "The compliance statement for authentication clients
         implementing the RADIUS Authentication Client MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { etsysRadiusAuthClientMIBGroupV5 }

    ::= { etsysRadiusAuthClientMIBCompliances 5 }

etsysRadiusClientMIBComplianceV6 MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for authentication clients
         implementing the RADIUS Authentication Client MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { etsysRadiusAuthClientMIBGroupV6 }

    ::= { etsysRadiusAuthClientMIBCompliances 6 }

END


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

ENTERASYS-RADIUS-ACCT-CLIENT-EXT-MIB DEFINITIONS ::= BEGIN

--
--  Part Number: 
--
--

--  This module provides authoritative definitions for Enterasys 
--  Network's RADIUS Accounting Client MIB.

--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in 
--  connection with the management of Enterasys Networks products.

--  Copyright August, 2002-2009 Enterasys Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE          FROM SNMPv2-SMI
    Integer32                             FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP       FROM SNMPv2-CONF
    TruthValue, RowStatus                 FROM SNMPv2-TC
    InetAddressType, InetAddress          FROM INET-ADDRESS-MIB
    etsysModules                          FROM ENTERASYS-MIB-NAMES;

etsysRadiusAcctClientMIB MODULE-IDENTITY
    LAST-UPDATED "201404221656Z"  -- Tue Apr  22 16:56 GMT 2014
    ORGANIZATION "Extreme Networks"
    CONTACT-INFO
        "Postal:  Extreme Networks
                  9 Northeastern Blvd.
                  Salem, NH 03079 USA
         Phone:   +1 603 952 5000
         E-mail:  support@extremenetworks.com
         WWW:     http://www.extremenetworks.com"

    DESCRIPTION
        "This MIB module defines a portion of the SNMP enterprise
         MIBs under Enterasys Networks' enterprise OID pertaining to 
         the client side of the Remote Access Dialin User Service 
         (RADIUS) Accounting protocol (RFC2866).
          
         This MIB provides read-write access to configuration objects
         not provided in the standard RADIUS Accounting Client 
         MIB (RFC2620).  However, the write capability must only
         be supported for SNMPv3, or other SNMP versions with 
         adequately strong security.

         Security concerns include Object ID verification, source
         address verification and timeliness verification."

    REVISION    "201404221656Z"  -- Tue Apr  22 16:56 GMT 2014     
    DESCRIPTION "Added per realm enable/disable, per realm retry
                 timeout, per server realm type, per server client IP 
                 and per server virtual router name."

    REVISION "200908071548Z"  -- Fri Aug  7 15:48 UTC 2009
    DESCRIPTION 
        "Added the etsysRadiusAcctClientServerUpdateInterval and
         etsysRadiusAcctClientServerIntervalMinimum objects for the 
         ability to override the system wide parameters on per server 
         basis."

    REVISION "200411121523Z"  -- Fri Nov 12 15:23 GMT 2004
    DESCRIPTION 
        "Removed the UNITS clause from the
         etsysRadiusAcctClientServerRetries object."

    REVISION "200409091437Z"  -- Thu Sep  9 14:37 GMT 2004
    DESCRIPTION 
        "Added UNITS clauses to a number of objects that are expressed
         in seconds, and DEFVAL clauses for the
         etsysRadiusAcctClientUpdateInterval and
         etsysRadiusAcctClientIntervalMinimum objects."

    REVISION "200408301555Z"  -- Mon Aug 30 15:55 GMT 2004
    DESCRIPTION 
        "In the columnar objects in etsysRadiusAcctClientServerTable,
         changed the MAX-ACCESS clauses of the read-write objects to
         read-create, added DEFVAL clauses to a number of the objects,
         and modified the DESCRIPTION clause for the RowStatus object
         to resolve a conflict between the syntax and the description.
         Deprecated the etsysRadiusAcctClientServerClearTime object.
         Changed a number of objects with SYNTAX clauses of INTEGER
         to Integer32."

    REVISION "200408251503Z"  -- Wed Aug 25 15:03 GMT 2004
    DESCRIPTION 
        "Changed etsysRadiusClientMIBCompliance to
         etsysRadiusAcctClientMIBCompliance due to
         a conflict with the etsysRadiusAcctClientMIB."

    REVISION "200209131930Z"  -- Fri Sep 13 19:30 GMT 2002
    DESCRIPTION 
        "The Initial version of this MIB module."

    ::= { etsysModules 27 }

-- ------------------------------------
-- MIB Objects
-- ------------------------------------

etsysRadiusAcctClientMIBObjects
        OBJECT IDENTIFIER ::= { etsysRadiusAcctClientMIB 1 }

etsysRadiusAcctClientEnable OBJECT-TYPE
    SYNTAX         INTEGER {
        enable(1),
        disable(2)
    }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "This object indicates whether or not RADIUS Accounting
         is enabled or disabled. This parameter value is maintained
         across system reboots."
    DEFVAL { disable }
    ::= { etsysRadiusAcctClientMIBObjects 1 }

etsysRadiusAcctClientUpdateInterval OBJECT-TYPE
    SYNTAX         Integer32 (0..2147483647)
    UNITS          "seconds"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "This indicates how many seconds elapse between accounting
         interim updates. This parameter value is maintained across 
         system reboots.  A value of zero means no Interim Updates.
         If the value is less than etsysRadiusAcctClientIntervalMinimum,
         the etsysRadiusAcctClientIntervalMinimum value will be used
         for the update interval time.  If RADIUS Accounting is not 
         enabled, this object is ignored.  Note that Accounting 
         Interim Updates are not issued by the RADIUS Accounting 
         Client, unless so requested by the RADIUS Server in an Access 
         Accept packet."
    DEFVAL { 1800 }
    ::= { etsysRadiusAcctClientMIBObjects 2 }

etsysRadiusAcctClientIntervalMinimum OBJECT-TYPE
    SYNTAX         Integer32 (60..2147483647)
    UNITS          "seconds"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "This indicates the minimum value in seconds between 
         accounting interim updates supported by the managed
         entity. This parameter value is maintained across 
         system reboots.  If RADIUS Accounting is not enabled, 
         this object is ignored."
    DEFVAL { 600 }
    ::= { etsysRadiusAcctClientMIBObjects 3 }

etsysRadiusAcctClientServerTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF EtsysRadiusAcctClientServerEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION
        "The (conceptual) table listing the RADIUS Accounting 
         servers."
    ::= { etsysRadiusAcctClientMIBObjects 4 }

etsysRadiusAcctClientServerEntry OBJECT-TYPE
    SYNTAX         EtsysRadiusAcctClientServerEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION
        "An entry (conceptual row) representing a RADIUS
         Accounting server with which the client shares
         a secret. If RADIUS Accounting is not enabled, this 
         table is ignored.

         All created conceptual rows are non-volatile and as such
         must be maintained upon restart of the agent."
    INDEX      { etsysRadiusAcctClientServerIndex }
    ::= { etsysRadiusAcctClientServerTable 1 }

EtsysRadiusAcctClientServerEntry ::=
    SEQUENCE {
        etsysRadiusAcctClientServerIndex                   Integer32,
        etsysRadiusAcctClientServerAddressType             InetAddressType,
        etsysRadiusAcctClientServerAddress                 InetAddress,
        etsysRadiusAcctClientServerPortNumber              Integer32,
        etsysRadiusAcctClientServerSecret                  OCTET STRING,
        etsysRadiusAcctClientServerSecretEntered           TruthValue,
        etsysRadiusAcctClientServerRetryTimeout            Integer32,
        etsysRadiusAcctClientServerRetries                 Integer32,
        etsysRadiusAcctClientServerClearTime               Integer32,
        etsysRadiusAcctClientServerStatus                  RowStatus,
        etsysRadiusAcctClientServerIntervalMinimum         Integer32,
        etsysRadiusAcctClientServerUpdateInterval          Integer32,
        etsysRadiusAcctClientServerRealmType               INTEGER,
        etsysRadiusAcctClientServerClientAddressType       InetAddressType,
        etsysRadiusAcctClientServerClientAddress           InetAddress,
        etsysRadiusAcctClientServerClientVirtualRouterName OCTET STRING
    }

etsysRadiusAcctClientServerIndex OBJECT-TYPE
    SYNTAX         Integer32 (1..2147483647)
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION
        "A number uniquely identifying each conceptual row
         in the etsysRadiusAcctClientServerTable.
   
         In the event of an agent restart, the same value
         of etsysRadiusAcctClientServerIndex must be used to 
         identify each conceptual row in 
         etsysRadiusAcctClientServerTable as was used prior 
         to the restart."
    ::= { etsysRadiusAcctClientServerEntry 1 }

etsysRadiusAcctClientServerAddressType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The type of Internet address by which the 
         RADIUS Accounting server is reachable."
    DEFVAL { ipv4 }
    ::= { etsysRadiusAcctClientServerEntry 2 }

etsysRadiusAcctClientServerAddress OBJECT-TYPE
    SYNTAX         InetAddress (SIZE(1..64))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The Internet address for the RADIUS Accounting
         server.  Note that implementations must limit
         themselves to a single entry in this table per 
         reachable server.

         The etsysRadiusAcctClientServerAddress may not be
         empty due to the SIZE restriction.  Also the size 
         of a DNS name is limited to 64 characters.

         This parameter value is maintained across system 
         reboots."
    ::= { etsysRadiusAcctClientServerEntry 3 }

etsysRadiusAcctClientServerPortNumber  OBJECT-TYPE
    SYNTAX         Integer32 (1..65535)
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The UDP port number (1-65535) the client is using
         to send requests to this server.  The officially
         assigned port number for RADIUS Accounting is 1813.
         This parameter value is maintained across system 
         reboots."
    DEFVAL {  1813  }     
    ::= { etsysRadiusAcctClientServerEntry 4 }

etsysRadiusAcctClientServerSecret  OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..255))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This object is the secret shared between the RADIUS 
         Accounting server and RADIUS client.  This 
         parameter value is maintained across system reboots.
         While the 'official' MAX-ACCESS for this object is
         read-create, all security-conscious implementations
         will 'lie' on a read, and return a null-string, or
         something else that is fairly innocuous.  The 
         ability to read back passwords and secret 
         encryption keys is generally a Bad Thing (tm)."
    ::= { etsysRadiusAcctClientServerEntry 5 }

etsysRadiusAcctClientServerSecretEntered  OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
        "This indicates the existence of a shared secret."
    ::= { etsysRadiusAcctClientServerEntry 6 }

etsysRadiusAcctClientServerRetryTimeout OBJECT-TYPE
    SYNTAX         Integer32 (-1 | 1..240)
    UNITS          "seconds"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The number of seconds to wait for a RADIUS Accounting
         Server to respond to a request.  This parameter value
         is maintained across system reboots.

         A value of -1 indicates that the appropriate realm 
         value should be used - etsysRadiusAcctClientMgmtRetryTimeout
         or etsysRadiusAcctClientNetworkRetryTimeout."
    DEFVAL { -1 }
    ::= { etsysRadiusAcctClientServerEntry 7 }

etsysRadiusAcctClientServerRetries OBJECT-TYPE
    SYNTAX         Integer32 (0..20)
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The number of times to resend an accounting packet
         if a RADIUS Accounting Server does not respond to a 
         request.  This parameter value is maintained across 
         system reboots."
    ::= { etsysRadiusAcctClientServerEntry 8 }

etsysRadiusAcctClientServerClearTime OBJECT-TYPE
    SYNTAX         Integer32 (1..2147483647)
    MAX-ACCESS     read-create
    STATUS         deprecated
    DESCRIPTION   
        "On a read, this value indicates the number of seconds 
         since the counters, as defined in the IETF standard
         RADIUS Accounting Client MIB (RFC2618), were cleared.  

         On a write, the client counters will be cleared and
         the clear time will be set to zero."
    ::= { etsysRadiusAcctClientServerEntry 9 }

etsysRadiusAcctClientServerStatus OBJECT-TYPE
    SYNTAX         RowStatus
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION   
        "Lets users create and delete RADIUS Accounting
         server entries on systems that support this 
         capability.

         Rules

            1. When creating a RADIUS Accounting Client, it 
               is up to the management station to determine a 
               suitable etsysRadiusAcctClientServerIndex.
               To facilitate interoperability, agents should not 
               put any restrictions on the 
               etsysRadiusAcctClientServerIndex beyond the 
               obvious ones that it be valid and unused.

            2. Before a new row can become 'active', values
               must be supplied for the columnar objects
               etsysRadiusAcctClientClientServerAddress,
               and etsysRadiusAcctClientServerSecret.

            3. The value of etsysRadiusAcctClientServerStatus
               must be set to 'notInService' in order to modify
               a writable object in the same conceptual row.

            4. etsysRadiusAcctClientServer entries whose 
               status is 'notReady' or 'notInService' will 
               not be used for Accounting."
    ::= { etsysRadiusAcctClientServerEntry 10 }

etsysRadiusAcctClientServerUpdateInterval OBJECT-TYPE
    SYNTAX         Integer32 (-1 | 0..2147483647)
    UNITS          "seconds"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This indicates how many seconds elapse between accounting
         interim updates from the client to this RADIUS server. This 
         parameter value is maintained across system reboots.
         A value of zero means no Interim Updates. If the value
         is less than etsysRadiusAcctClientServerIntervalMinimum, the
         etsysRadiusAcctClientServerIntervalMinimum value will be used
         for the update interval time.  If RADIUS Accounting is not 
         enabled, this object is ignored.  Note that Accounting 
         Interim Updates are not issued by the RADIUS Accounting 
         Client, unless so requested by the RADIUS Server in an Access 
         Accept packet.

         A value of -1 indicates that this object is not
         configured and this device will use the value
         configured in etsysRadiusAcctClientUpdateInterval
         for the minimum value in seconds between accounting
         interim updates for this RADIUS server."
    DEFVAL { -1 }
    ::= { etsysRadiusAcctClientServerEntry 11 }

etsysRadiusAcctClientServerIntervalMinimum OBJECT-TYPE
    SYNTAX         Integer32 (-1 | 60..2147483647)
    UNITS          "seconds"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This indicates the minimum value in seconds between 
         accounting interim updates supported by the managed
         entity for this RADIUS server. This parameter value
         is maintained across system reboots.  If RADIUS 
         Accounting is not enabled, this object is ignored.

         A value of -1 indicates that this object is not
         configured and this device will use the value
         configured in etsysRadiusAcctClientIntervalMinimum
         for the minimum value in seconds between accounting
         interim updates for this RADIUS server."
    DEFVAL { -1 }
    ::= { etsysRadiusAcctClientServerEntry 12 }

etsysRadiusAcctClientServerRealmType OBJECT-TYPE
    SYNTAX         INTEGER {
                       any(1),
                       mgmtAccess(2),
                       networkAccess(3)
                   }
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This object allows a server to be restricted to providing
         authentication services to certain classes of access methods.

         any(1)            - the server will be available to
                             authenticate users originating from
                             any of the access methods.

         mgmtAccess(2)     - the server will only be available for
                             authenticating users that have requested
                             management access via the console, telnet,
                             SSH, HTTP, etc.

         networkAccess(3)  - the server will only be available for
                             authenticating users that are attempting
                             to gain access to the network via 802.1X,
                             Port Web Authentication, MAC Authentication,
                             etc.

         Non-default values for this object should be used when there is
         a desire to have one set of servers used for authenticating
         management access requests and a different set used for
         authenticating network access requests.  When this object has
         the value of any(1) then the associated server will be in each
         set.  The precedence order defined by the relative value of the
         etsysRadiusAuthServerIndex will be maintained within each set of
         servers."
    DEFVAL { any }
    ::= { etsysRadiusAcctClientServerEntry 13 }

etsysRadiusAcctClientServerClientAddressType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This object specifies how etsysRadiusAcctClientServerClientAddress
         is encoded.  Support for all possible enumerations defined by
         InetAddressType is NOT REQUIRED."
    DEFVAL { ipv4 }
    ::= { etsysRadiusAcctClientServerEntry 14 }

etsysRadiusAcctClientServerClientAddress OBJECT-TYPE
    SYNTAX         InetAddress (SIZE(1..64))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The encoded unicast IP address of a local system interface.  
         RADIUS requests will be sent from this address."
    ::= { etsysRadiusAcctClientServerEntry 15 }

etsysRadiusAcctClientServerClientVirtualRouterName OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..32))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The name of the local system virtual router that traffic 
         sent to this RADIUS server should be associated with.

         Writing this object with a zero length string clears the
         virtual router name for this server."
    ::= { etsysRadiusAcctClientServerEntry 16 }

-- -------------------------------------------------------------
-- Additional RADIUS Acct Client Scalars
-- -------------------------------------------------------------

etsysRadiusAcctClientMgmtEnable OBJECT-TYPE
    SYNTAX         INTEGER {
        unset(0),           
        enable(1),
        disable(2)
    }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "This object indicates whether or not RADIUS Accounting
         is enabled or disabled for management sessions. 
         This parameter value is maintained across system reboots.
         The unset value (0) indicates that the value in 
         etsysRadiusAcctClientEnable should be used."
    DEFVAL { unset }
    ::= { etsysRadiusAcctClientMIBObjects 5 }

etsysRadiusAcctClientNetworkEnable OBJECT-TYPE
    SYNTAX         INTEGER {
        unset(0),           
        enable(1),
        disable(2)
    }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
        "This object indicates whether or not RADIUS Accounting
         is enabled or disabled for network sessions. 
         This parameter value is maintained across system reboots.
         The unset value (0) indicates that the value in 
         etsysRadiusAcctClientEnable should be used."
    DEFVAL { unset }
    ::= { etsysRadiusAcctClientMIBObjects 6 }

etsysRadiusAcctClientMgmtRetryTimeout OBJECT-TYPE
    SYNTAX         Integer32 (1..240)
    UNITS          "seconds"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The number of seconds to wait for a RADIUS Accounting
         Server in the management realm to respond to a request.
         This parameter value is maintained across system reboots.
         This value may be overridden by the per server 
         etsysRadiusAcctClientServerRetryTimeout."
    ::= { etsysRadiusAcctClientMIBObjects 7 }

etsysRadiusAcctClientNetworkRetryTimeout OBJECT-TYPE
    SYNTAX         Integer32 (1..240)
    UNITS          "seconds"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The number of seconds to wait for a RADIUS Accounting
         Server in the network realm to respond to a request.
         This parameter value is maintained across system reboots.
         This value may be overridden by the per server 
         etsysRadiusAcctClientServerRetryTimeout."
    ::= { etsysRadiusAcctClientMIBObjects 8 }

-- ------------------------------------
-- Conformance information
-- ------------------------------------

etsysRadiusAcctClientMIBConformance
       OBJECT IDENTIFIER ::= { etsysRadiusAcctClientMIB 2 }

etsysRadiusAcctClientMIBCompliances
       OBJECT IDENTIFIER ::= { etsysRadiusAcctClientMIBConformance 1 }

etsysRadiusAcctClientMIBGroups
       OBJECT IDENTIFIER ::= { etsysRadiusAcctClientMIBConformance 2 }

-- ------------------------------------
-- Units of conformance
-- ------------------------------------

etsysRadiusAcctClientMIBGroup OBJECT-GROUP
     OBJECTS { etsysRadiusAcctClientEnable,
               etsysRadiusAcctClientUpdateInterval,
               etsysRadiusAcctClientIntervalMinimum,
               etsysRadiusAcctClientServerAddressType,
               etsysRadiusAcctClientServerAddress,
               etsysRadiusAcctClientServerPortNumber,
               etsysRadiusAcctClientServerSecret,
               etsysRadiusAcctClientServerSecretEntered,
               etsysRadiusAcctClientServerRetryTimeout,
               etsysRadiusAcctClientServerRetries,
               etsysRadiusAcctClientServerClearTime,
               etsysRadiusAcctClientServerStatus
             }
     STATUS  deprecated
     DESCRIPTION
         "The basic collection of objects providing a proprietary
          extension to the standard RADIUS Client MIB. 
  
          This MIB provides read-write access to configuration 
          objects not provided in the standard RADIUS Accounting Client 
          MIB (RFC2618).  However, the write capability must only
          be supported for SNMPv3, or other SNMP versions with 
          adequately strong security."
     ::= { etsysRadiusAcctClientMIBGroups 1 }

etsysRadiusAcctClientMIBGroupV2 OBJECT-GROUP
     OBJECTS { etsysRadiusAcctClientEnable,
               etsysRadiusAcctClientUpdateInterval,
               etsysRadiusAcctClientIntervalMinimum,
               etsysRadiusAcctClientServerAddressType,
               etsysRadiusAcctClientServerAddress,
               etsysRadiusAcctClientServerPortNumber,
               etsysRadiusAcctClientServerSecret,
               etsysRadiusAcctClientServerSecretEntered,
               etsysRadiusAcctClientServerRetryTimeout,
               etsysRadiusAcctClientServerRetries,
               etsysRadiusAcctClientServerStatus
             }
     STATUS  deprecated
     DESCRIPTION
         "The basic collection of objects providing a proprietary
          extension to the standard RADIUS Client MIB. 

          etsysRadiusAcctClientServerClearTime was deprecated in
          this group."
     ::= { etsysRadiusAcctClientMIBGroups 2 }

etsysRadiusAcctClientMIBGroupV3 OBJECT-GROUP
     OBJECTS { etsysRadiusAcctClientEnable,
               etsysRadiusAcctClientUpdateInterval,
               etsysRadiusAcctClientIntervalMinimum,
               etsysRadiusAcctClientServerAddressType,
               etsysRadiusAcctClientServerAddress,
               etsysRadiusAcctClientServerPortNumber,
               etsysRadiusAcctClientServerSecret,
               etsysRadiusAcctClientServerSecretEntered,
               etsysRadiusAcctClientServerRetryTimeout,
               etsysRadiusAcctClientServerRetries,
               etsysRadiusAcctClientServerStatus,
               etsysRadiusAcctClientServerIntervalMinimum,
               etsysRadiusAcctClientServerUpdateInterval
             }
     STATUS  deprecated
     DESCRIPTION
         "The basic collection of objects providing a proprietary
          extension to the standard RADIUS Client MIB.

          etsysRadiusAcctClientServerClearTime was deprecated in
          this group."
     ::= { etsysRadiusAcctClientMIBGroups 3 }

etsysRadiusAcctClientMIBGroupV4 OBJECT-GROUP
     OBJECTS { etsysRadiusAcctClientEnable,
               etsysRadiusAcctClientUpdateInterval,
               etsysRadiusAcctClientIntervalMinimum,
               etsysRadiusAcctClientServerAddressType,
               etsysRadiusAcctClientServerAddress,
               etsysRadiusAcctClientServerPortNumber,
               etsysRadiusAcctClientServerSecret,
               etsysRadiusAcctClientServerSecretEntered,
               etsysRadiusAcctClientServerRetryTimeout,
               etsysRadiusAcctClientServerRetries,
               etsysRadiusAcctClientServerStatus,
               etsysRadiusAcctClientServerIntervalMinimum,
               etsysRadiusAcctClientServerUpdateInterval,
               etsysRadiusAcctClientServerRealmType,
               etsysRadiusAcctClientServerClientAddressType,
               etsysRadiusAcctClientServerClientAddress,
               etsysRadiusAcctClientServerClientVirtualRouterName,
               etsysRadiusAcctClientMgmtEnable,
               etsysRadiusAcctClientNetworkEnable,
               etsysRadiusAcctClientMgmtRetryTimeout,
               etsysRadiusAcctClientNetworkRetryTimeout
             }
     STATUS  current
     DESCRIPTION
         "The basic collection of objects providing a proprietary
          extension to the standard RADIUS Client MIB.

          etsysRadiusAcctClientServerClearTime was deprecated in
          this group."
     ::= { etsysRadiusAcctClientMIBGroups 4 }

-- ------------------------------------
-- Compliance statements
-- ------------------------------------

-- The following object name conflicts with one in the
-- etsysRadiusAuthClientMIB
-- 
-- etsysRadiusClientMIBCompliance MODULE-COMPLIANCE
--      STATUS  current
--      DESCRIPTION
--          "The compliance statement for Accounting clients
--           implementing the RADIUS Accounting Client MIB."
--      MODULE   - this module
--          MANDATORY-GROUPS { etsysRadiusAcctClientMIBGroup }
-- 
--      ::= { etsysRadiusAcctClientMIBCompliances 1 }

etsysRadiusAcctClientMIBCompliance MODULE-COMPLIANCE
     STATUS  deprecated
     DESCRIPTION
         "The compliance statement for Accounting clients
          implementing the RADIUS Accounting Client MIB."
     MODULE  -- this module
         MANDATORY-GROUPS { etsysRadiusAcctClientMIBGroup }

     ::= { etsysRadiusAcctClientMIBCompliances 2 }

etsysRadiusAcctClientMIBComplianceV2 MODULE-COMPLIANCE
     STATUS  deprecated
     DESCRIPTION
         "The compliance statement for Accounting clients
          implementing the RADIUS Accounting Client MIB."
     MODULE  -- this module
         MANDATORY-GROUPS { etsysRadiusAcctClientMIBGroupV2 }

     ::= { etsysRadiusAcctClientMIBCompliances 3 }

etsysRadiusAcctClientMIBComplianceV3 MODULE-COMPLIANCE
     STATUS  deprecated
     DESCRIPTION
         "The compliance statement for Accounting clients
          implementing the RADIUS Accounting Client MIB."
     MODULE  -- this module
         MANDATORY-GROUPS { etsysRadiusAcctClientMIBGroupV3 }

     ::= { etsysRadiusAcctClientMIBCompliances 4 }

etsysRadiusAcctClientMIBComplianceV4 MODULE-COMPLIANCE
     STATUS  current
     DESCRIPTION
         "The compliance statement for Accounting clients
          implementing the RADIUS Accounting Client MIB."
     MODULE  -- this module
         MANDATORY-GROUPS { etsysRadiusAcctClientMIBGroupV4 }

     ::= { etsysRadiusAcctClientMIBCompliances 5 }     

END

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

    EXTREME-IETF-BFD-TC-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, mib-2, Unsigned32
            FROM SNMPv2-SMI                                 -- [RFC2578]

        TEXTUAL-CONVENTION
            FROM SNMPv2-TC                                  -- [RFC2579]

         extremeBfd                  FROM EXTREME-BASE-MIB;

    extremeIetfBfdTCMib MODULE-IDENTITY
        LAST-UPDATED "201206141200Z" -- 14 June 2012 12:00:00 EST
        ORGANIZATION "IETF Bidirectional Forwarding Detection
                      Working Group"
        CONTACT-INFO
            "Thomas D. Nadeau
             Juniper Networks
             Email:  tnadeau@lucidvision.com

             Zafar Ali
             Cisco Systems, Inc.
             Email:  zali@cisco.com

             Nobo Akiya
             Cisco Systems, G.K.
             Email:  nobo@cisco.com"
        DESCRIPTION
            "This MIB module defines TEXTUAL-CONVENTIONs for concepts
             used in Bidirectional Forwarding Detection (BFD)
             protocols."
        REVISION "201206141200Z" -- 14 June 2012 12:00:00 EST
        DESCRIPTION
            "Initial version. Published as RFC xxxx."

--      DESCRIPTION
--        This MIB module is based on Internet Draft draft-ietf-bfd-tc-mib-02.txt.
--        In this initial version, extreme keyword is prepended before every
--        Textual Convention; this is the only difference when compared to
--        draft-ietf-bfd-tc-mib-02.txt.

 -- RFC Ed.: RFC-editor pls fill in xxxx
    ::= { extremeBfd 1 }
 -- RFC Ed.: assigned by IANA, see section 5 for details

    ExtremeBfdSessIndexTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION
        "An index used to uniquely identify BFD sessions."
    SYNTAX Unsigned32 (1..4294967295)

    ExtremeBfdIntervalTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT  "d"
    STATUS        current
    DESCRIPTION
        "The BFD interval in microseconds."
    SYNTAX Unsigned32 (0..4294967295)

    ExtremeBfdMultiplierTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "The BFD failure detection multiplier."
    SYNTAX Unsigned32 (1..255)

    ExtremeBfdDiagTC ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "A common BFD diagnostic code."
    SYNTAX INTEGER {
        noDiagnostic(0),
        controlDetectionTimeExpired(1),
        echoFunctionFailed(2),
        neighborSignaledSessionDown(3),
        forwardingPlaneReset(4),
        pathDown(5),
        concatenatedPathDown(6),
        administrativelyDown(7),
        reverseConcatenatedPathDown(8)
    }

    ExtremeBfdSessTypeTC ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION
        "BFD session type"
    REFERENCE
        "Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD), RFC 5880, June 2010.
 
         Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD) for IPv4 and IPv6 (Single Hop),

         Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD) for Multihop Paths, RFC 5883,
              June 2010."
    SYNTAX INTEGER {
        singleHop(1),
        multiHopTotallyArbitraryPaths(2),
        multiHopOutOfBandSignaling(3),
        multiHopUnidirectionalLinks(4),
        multiPointHead(5),
        multiPointTail(6)
    }

    ExtremeBfdSessOperModeTC ::= TEXTUAL-CONVENTION
    STATUS            current
    DESCRIPTION
        "BFD session operating mode"
    REFERENCE
        "Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD), RFC 5880, June 2010."
    SYNTAX INTEGER {
        asyncModeWEchoFunction(1),
        asynchModeWOEchoFunction(2),
        demandModeWEchoFunction(3),
        demandModeWOEchoFunction(4)
    }

    ExtremeBfdCtrlDestPortNumberTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT            "d"
    STATUS                  current
    DESCRIPTION
        "UDP destination port number of BFD control packets.
         3784 represents single hop BFD session.
         4784 represents multi hop BFD session.
         However, syntax is left open to wider range of values
         purposely for two reasons:
         1. implementation uses non-compliant port number for
            valid proprietary reason.
         2. potential future extension drafts."
    REFERENCE
        "Use of port 3784 from Katz, D. and D. Ward, 
              Bidirectional Forwarding
              Detection (BFD) for IPv4 and IPv6 (Single Hop),

         Use of port 4784 from Katz, D. and D. Ward, Bidirectional 
              Forwarding Detection (BFD) for IPv4 and IPv6 
              (Single Hop), RFC 5881, June 2010."
    SYNTAX Unsigned32 (0..65535)

    ExtremeBfdCtrlSourcePortNumberTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT              "d"
    STATUS                    current
    DESCRIPTION
        "UDP source port number of BFD control packets.
         However, syntax is left open to wider range of values
         purposely for two reasons:
         1. implementation uses non-compliant port number for
            valid proprietary reason.
         2. potential future extension drafts."
    REFERENCE
        "Port 49152..65535 (RFC5881)"
    SYNTAX Unsigned32 (0..65535)

    ExtremeBfdSessStateTC ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
        "BFD session state. State failing(5) is only applicable if
         corresponding session is running in BFD version 0."
    REFERENCE
        "RFC 5880 - Bidirectional Forwarding Detection (BFD), Katz, 
         D., Ward, D., June 2010."
    SYNTAX INTEGER {
        adminDown(1),
        down(2),
        init(3),
        up(4),
        failing(5)
    }

    ExtremeBfdSessAuthenticationTypeTC ::= TEXTUAL-CONVENTION
    STATUS                      current
    DESCRIPTION
        "BFD authentication type"
    REFERENCE
        "Sections 4.2 - 4.4 from Katz, D. and D. Ward, 
         Bidirectional Forwarding Detection (BFD)," 
    SYNTAX INTEGER {
        noAuthentication(-1),
        reserved(0),
        simplePassword(1),
        keyedMD5(2),
        meticulousKeyedMD5(3),
        keyedSHA1(4),
        meticulousKeyedSHA1(5)
    }

    ExtremeBfdSessionAuthenticationKeyTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT                  "1x "
    STATUS                        current
    DESCRIPTION
        "BFD authentication key type.
    
         A ExtremeBfdSessionAuthenticationKeyTC is always interpreted within
         the context of an ExtremeBfdSessAuthenticationTypeTC value.  Every
         usage of the ExtremeBfdSessionAuthenticationTypeTC textual
         convention is required to specify the the
         ExtremeBfdSessionAuthenticationKeyTC object that provides the
         context.  It is suggested that the
         ExtremeBfdSessionAuthentcationTypeTC object be logically registered
         before the object(s) that use the
         ExtremeBfdSessionAuthenticationKeyTC textual convention, if they
         appear in the same logical row.

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

         The following size constraints for a
         ExtremeBfdSessionAuthenticationKeyTC object are defined for the
         associated ExtremeBfdSessionAuthenticationTypeTC values show below:

         noAuthentication(-1): SIZE(0)
         reserved(0): SIZE(0)
         simplePassword(1): SIZE(1..16)
         keyedMD5(2): SIZE(16)
         meticulousKeyedMD5(3): SIZE(16)
         keyedSHA1(4): SIZE(20)
         meticulousKeyedSHA1(5): SIZE(20)

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

    END


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

EXTREME-IETF-BFD-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
            mib-2, Integer32, Unsigned32, Counter32, Counter64
            FROM SNMPv2-SMI

        TruthValue, RowStatus, StorageType, TimeStamp
            FROM SNMPv2-TC

        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
            FROM SNMPv2-CONF

        InterfaceIndexOrZero
            FROM IF-MIB

        InetAddress, InetAddressType, InetPortNumber
            FROM INET-ADDRESS-MIB

        extremeBfd                  FROM EXTREME-BASE-MIB

        ExtremeBfdSessIndexTC, ExtremeBfdIntervalTC, ExtremeBfdMultiplierTC, 
        ExtremeBfdDiagTC, ExtremeBfdSessTypeTC, ExtremeBfdSessOperModeTC, 
        ExtremeBfdCtrlDestPortNumberTC, ExtremeBfdCtrlSourcePortNumberTC, 
        ExtremeBfdSessStateTC, ExtremeBfdSessAuthenticationTypeTC, 
        ExtremeBfdSessionAuthenticationKeyTC
            FROM EXTREME-IETF-BFD-TC-MIB;


    extremeIetfBfdMib MODULE-IDENTITY
        LAST-UPDATED "201212171200Z" -- 17 December 2012 12:00:00 EST
        ORGANIZATION "IETF Bidirectional Forwarding Detection
                      Working Group"
        CONTACT-INFO
            "Thomas D. Nadeau
             Juniper Networks
             Email:  tnadeau@lucidvision.com

             Zafar Ali
             Cisco Systems, Inc.
             Email:  zali@cisco.com

             Nobo Akiya
             Cisco Systems, G.K.
             Email:  nobo@cisco.com"
        DESCRIPTION
            "Bidirectional Forwarding Management Information Base."
        REVISION "201212171200Z" -- 17 December 2012 12:00:00 EST
        DESCRIPTION
            "Initial version. Published as RFC xxxx."

--      DESCRIPTION
--        This MIB module is based on Internet Draft draft-ietf-bfd-mib-12.txt.
--        In this initial version, extreme keyword is prepended before every
--        Textual Convention; this is the only difference when compared to
--        draft-ietf-bfd-mib-12.txt.

 -- RFC Ed.: RFC-editor pls fill in xxxx
        ::= { extremeBfd 2 }
 -- RFC Ed.: assigned by IANA, see section 7.1 for details

 -- Top level components of this MIB module.

    extremeBfdNotifications OBJECT IDENTIFIER ::= { extremeIetfBfdMib 0 }

    extremeBfdObjects       OBJECT IDENTIFIER ::= { extremeIetfBfdMib 1 }

    extremeBfdConformance   OBJECT IDENTIFIER ::= { extremeIetfBfdMib 2 }

    extremeBfdScalarObjects OBJECT IDENTIFIER ::= { extremeBfdObjects 1 }

 -- BFD General Variables

 -- These parameters apply globally to the Systems'
 -- BFD Process.

    extremeBfdAdminStatus OBJECT-TYPE
        SYNTAX     INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The global administrative status of BFD in this device.
             The value 'enabled' denotes that the BFD Process is
             active on at least one interface; 'disabled' disables
             it on all interfaces."
        DEFVAL { enabled }
        ::= { extremeBfdScalarObjects 1 }

    extremeBfdSessNotificationsEnable OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "If this object is set to true(1), then it enables
             the emission of extremeBfdSessUp and extremeBfdSessDown
             notifications; otherwise these notifications are not
             emitted."
        REFERENCE
            "See also RFC3413 for explanation that
             notifications are under the ultimate control of the
             MIB modules in this document."
        DEFVAL { false }
        ::= { extremeBfdScalarObjects 2 }

 -- BFD Session Table
 -- The BFD Session Table specifies BFD session specific
 -- information.

    extremeBfdSessTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ExtremeBfdSessEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session Table describes the BFD sessions."
        REFERENCE
            "Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD), RFC 5880, June 2012."
        ::= { extremeBfdObjects 2 }

    extremeBfdSessEntry OBJECT-TYPE
        SYNTAX     ExtremeBfdSessEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session Entry describes BFD session."
        INDEX { extremeBfdSessIndex }
        ::= { extremeBfdSessTable 1 }

    ExtremeBfdSessEntry ::= SEQUENCE {
        extremeBfdSessIndex                    ExtremeBfdSessIndexTC,
        extremeBfdSessVersionNumber            Unsigned32,
        extremeBfdSessType                     ExtremeBfdSessTypeTC,
        extremeBfdSessDiscriminator            Unsigned32,
        extremeBfdSessRemoteDiscr              Unsigned32,
        extremeBfdSessDestinationUdpPort       ExtremeBfdCtrlDestPortNumberTC,
        extremeBfdSessSourceUdpPort            ExtremeBfdCtrlSourcePortNumberTC,
        extremeBfdSessEchoSourceUdpPort        InetPortNumber,
        extremeBfdSessAdminStatus              INTEGER,
        extremeBfdSessState                    ExtremeBfdSessStateTC,
        extremeBfdSessRemoteHeardFlag          TruthValue,
        extremeBfdSessDiag                     ExtremeBfdDiagTC,
        extremeBfdSessOperMode                 ExtremeBfdSessOperModeTC,
        extremeBfdSessDemandModeDesiredFlag    TruthValue,
        extremeBfdSessControlPlaneIndepFlag    TruthValue,
        extremeBfdSessMultipointFlag           TruthValue,
        extremeBfdSessInterface                InterfaceIndexOrZero,
        extremeBfdSessSrcAddrType              InetAddressType,
        extremeBfdSessSrcAddr                  InetAddress,
        extremeBfdSessDstAddrType              InetAddressType,
        extremeBfdSessDstAddr                  InetAddress,
        extremeBfdSessGTSM                     TruthValue,
        extremeBfdSessGTSMTTL                  Unsigned32,
        extremeBfdSessDesiredMinTxInterval     ExtremeBfdIntervalTC,
        extremeBfdSessReqMinRxInterval         ExtremeBfdIntervalTC,
        extremeBfdSessReqMinEchoRxInterval     ExtremeBfdIntervalTC,
        extremeBfdSessDetectMult               ExtremeBfdMultiplierTC,
        extremeBfdSessNegotiatedInterval       ExtremeBfdIntervalTC,
        extremeBfdSessNegotiatedEchoInterval   ExtremeBfdIntervalTC,
        extremeBfdSessNegotiatedDetectMult     ExtremeBfdMultiplierTC,
        extremeBfdSessAuthPresFlag             TruthValue,
        extremeBfdSessAuthenticationType       ExtremeBfdSessAuthenticationTypeTC,
        extremeBfdSessAuthenticationKeyID      Integer32,
        extremeBfdSessAuthenticationKey        ExtremeBfdSessionAuthenticationKeyTC,
        extremeBfdSessStorageType              StorageType,
        extremeBfdSessRowStatus                RowStatus
    }

    extremeBfdSessIndex OBJECT-TYPE
        SYNTAX     ExtremeBfdSessIndexTC
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "This object contains an index used to represent a
             unique BFD session on this device."
        ::= { extremeBfdSessEntry 1 }

    extremeBfdSessVersionNumber OBJECT-TYPE
        SYNTAX     Unsigned32 (0..7)
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The version number of the BFD protocol that this session
             is running in. Write access is available for this object
             to provide ability to set desired version for this
             BFD session."
        REFERENCE
            "Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD), RFC 5880, June 2012."
        DEFVAL { 1 }
        ::= { extremeBfdSessEntry 2 }

    extremeBfdSessType OBJECT-TYPE
        SYNTAX     ExtremeBfdSessTypeTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the type of this BFD session."
        ::= { extremeBfdSessEntry 3 }

    extremeBfdSessDiscriminator OBJECT-TYPE
        SYNTAX     Unsigned32 (1..4294967295)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the local discriminator for this BFD
             session, used to uniquely identify it."
        ::= { extremeBfdSessEntry 4 }

    extremeBfdSessRemoteDiscr OBJECT-TYPE
        SYNTAX     Unsigned32 (0 | 1..4294967295)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the session discriminator chosen
             by the remote system for this BFD session.  The value may
             be zero(0) if the remote discriminator is not yet known
             or if the session is in the down or adminDown(1) state."
        REFERENCE
            "Section 6.8.6, from Katz, D. and D. Ward, Bidirectional 
             Forwarding Detection (BFD), RFC 5880, June 2012."
        ::= { extremeBfdSessEntry 5 }

    extremeBfdSessDestinationUdpPort OBJECT-TYPE
        SYNTAX     ExtremeBfdCtrlDestPortNumberTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the destination UDP port number
             used for this BFD session's control packets. The value
             may be zero(0) if the session is in adminDown(1) state."
        DEFVAL { 0 }
        ::= { extremeBfdSessEntry 6 }

    extremeBfdSessSourceUdpPort OBJECT-TYPE
        SYNTAX     ExtremeBfdCtrlSourcePortNumberTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the source UDP port number used
             for this BFD session's control packets. The value may be
             zero(0) if the session is in adminDown(1) state. Upon
             creation of a new BFD session via this MIB, the value of
             zero(0) specified would permit the implementation to
             chose its own source port number."
        DEFVAL { 0 }
        ::= { extremeBfdSessEntry 7 }

    extremeBfdSessEchoSourceUdpPort OBJECT-TYPE
        SYNTAX     InetPortNumber
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the source UDP port number used for
             this BFD session's echo packets. The value may be zero(0)
             if the session is not running in the echo mode, or the
             session is in adminDown(1) state. Upon creation of a new
             BFD session via this MIB, the value of zero(0) would
             permit the implementation to chose its own source port
             number."
        DEFVAL { 0 }
        ::= { extremeBfdSessEntry 8 }

    extremeBfdSessAdminStatus OBJECT-TYPE
        SYNTAX     INTEGER {
                            stop(1),
                            start(2)
                   }
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "A transition from 'stop' to 'start' will start
                 the BFD state machine for the session. The state
                 machine will have an initial state of down.
                 A transition from 'start' to 'stop' will cause
                 the BFD sesssion to be brought down to
                 adminDown(1). Care should be used in providing
                 write access to this object without adequate
                 authentication."
        DEFVAL { 2 }
        ::= { extremeBfdSessEntry 9 }

    extremeBfdSessState OBJECT-TYPE
        SYNTAX     ExtremeBfdSessStateTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "BFD session state."
        DEFVAL { 2 }
        ::= { extremeBfdSessEntry 10 }

    extremeBfdSessRemoteHeardFlag OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies status of BFD packet reception from
             the remote system. Specifically, it is set to true(1) if
             the local system is actively receiving BFD packets from the
             remote system, and is set to false(2) if the local system
             has not received BFD packets recently (within the detection
             time) or if the local system is attempting to tear down
             the BFD session."
        REFERENCE
            "Katz, D. and D. Ward, Bidirectional 
             Forwarding Detection (BFD), RFC 5880, June 2012."
        DEFVAL { false }
        ::= { extremeBfdSessEntry 11 }

    extremeBfdSessDiag OBJECT-TYPE
        SYNTAX     ExtremeBfdDiagTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "A diagnostic code specifying the local system's reason
             for the last transition of the session from up(4)
             to some other state."
        ::= { extremeBfdSessEntry 12 }

    extremeBfdSessOperMode OBJECT-TYPE
        SYNTAX     ExtremeBfdSessOperModeTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies current operating mode that BFD
             session is operating in."
        ::= { extremeBfdSessEntry 13 }

    extremeBfdSessDemandModeDesiredFlag OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object indicates that the local system's
             desire to use Demand mode. Specifically, it is set
             to true(1) if the local system wishes to use
             Demand mode or false(2) if not"
        DEFVAL { false }
        ::= { extremeBfdSessEntry 14 }

    extremeBfdSessControlPlaneIndepFlag OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object indicates that the local system's
             ability to continue to function through a disruption of
             the control plane. Specifically, it is set
             to true(1) if the local system BFD implementation is
             independent of the control plane. Otherwise, the
             value is set to false(2)"
        DEFVAL { false }
        ::= { extremeBfdSessEntry 15 }

    extremeBfdSessMultipointFlag OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object indicates the Multipoint (M) bit for this
             session. It is set to true(1) if Multipoint (M) bit is
             set to 1. Otherwise, the value is set to false(2)"
        DEFVAL { false }
        ::= { extremeBfdSessEntry 16 }

    extremeBfdSessInterface OBJECT-TYPE
        SYNTAX     InterfaceIndexOrZero
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object contains an interface index used to indicate
             the interface which this BFD session is running on. This
             value can be zero if there is no interface associated
             with this BFD session."
        ::= { extremeBfdSessEntry 17 }

    extremeBfdSessSrcAddrType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies IP address type of the source IP
             address of this BFD session. Only values unknown(0),
             ipv4(1), ipv6(2), or ipv6z(4) have to be supported.
             The value of unknown(0) is allowed only when the session
             is singleHop(1) and the source IP address of this BFD
             session is drived from the outgoing interface, or when
             the BFD session is not associated with a specific
             interface. If any other unsupported values are attempted
             in a set operation, the agent MUST return an
             inconsistentValue error."
      ::= { extremeBfdSessEntry 18 }

    extremeBfdSessSrcAddr OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the source IP address of this BFD
             session."
        ::= { extremeBfdSessEntry 19 }

    extremeBfdSessDstAddrType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies IP address type of the neighboring IP
             address which is being monitored with this BFD session.
             Only values unknown(0), ipv4(1), ipv6(2), or ipv6z(4)
             have to be supported. The value of unknown(0) is allowed
             only when the session is singleHop(1) and the outgoing
             interface is of type point-to-point, or when the BFD
             session is not associated with a specific interface. If any
             other unsupported values are attempted in a set operation,
             the agent MUST return an inconsistentValue error."
      ::= { extremeBfdSessEntry 20 }

    extremeBfdSessDstAddr OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the neighboring IP address which is
             being monitored with this BFD session."
        ::= { extremeBfdSessEntry 21 }

    extremeBfdSessGTSM OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
           "Setting the value of this object to true(1) will enable GTSM
            protection of the BFD session.  GTSM MUST be enabled on a
            singleHop(1) session if no authentication is in use."
        REFERENCE
           "RFC5082, The Generalized TTL Security Mechanism (GTSM).
            RFC5881, Section 5"
        DEFVAL { false }
        ::= { extremeBfdSessEntry 22 }

    extremeBfdSessGTSMTTL OBJECT-TYPE
        SYNTAX Unsigned32 (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is valid only when extremeBfdSessGTSM protection is
             enabled on the system. This object specifies the minimum
             allowed TTL for received BFD control packets. For
             singleHop(1) session, if GTSM protection is enabled,
             this object SHOULD be set to maximum TTL allowed for
             single hop. The value of zero(0) indicates that
             extremeBfdSessGTSM is disabled."
        REFERENCE
           "RFC5082, The Generalized TTL Security Mechanism (GTSM).
            RFC5881, Section 5"
        DEFVAL { 0 }
        ::= { extremeBfdSessEntry 23 }

    extremeBfdSessDesiredMinTxInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the minimum interval, in
             microseconds, that the local system would like to use
             when transmitting BFD Control packets. The value of
             zero(0) is reserved, and should not be used."
        REFERENCE
            "Section 4.1 from Katz, D. and D. Ward, Bidirectional 
             Forwarding Detection (BFD), RFC 5880, June 2012."
        ::= { extremeBfdSessEntry 24 }

    extremeBfdSessReqMinRxInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the minimum interval, in
             microseconds, between received  BFD Control packets the
             local system is capable of supporting. The value of
             zero(0) can be specified when the transmitting system
             does not want the remote system to send any periodic BFD
             control packets."
        REFERENCE
            "Section 4.1 from Katz, D. and D. Ward, Bidirectional 
             Forwarding Detection (BFD), RFC 5880, June 2012."
        ::= { extremeBfdSessEntry 25 }

    extremeBfdSessReqMinEchoRxInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the minimum interval, in
             microseconds, between received BFD Echo packets that this
             system is capable of supporting. Value must be zero(0) if
             this is a multihop BFD session."
        ::= { extremeBfdSessEntry 26 }

    extremeBfdSessDetectMult OBJECT-TYPE
        SYNTAX     ExtremeBfdMultiplierTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the Detect time multiplier."
        ::= { extremeBfdSessEntry 27 }

    extremeBfdSessNegotiatedInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the negotiated interval, in
             microseconds, that the local system is transmitting
             BFD Control packets."
        ::= { extremeBfdSessEntry 28 }

    extremeBfdSessNegotiatedEchoInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the negotiated interval, in
             microseconds, that the local system is transmitting
             BFD echo packets. Value is expected to be zero if
             the sessions is not running in echo mode."
        ::= { extremeBfdSessEntry 29 }

    extremeBfdSessNegotiatedDetectMult OBJECT-TYPE
        SYNTAX     ExtremeBfdMultiplierTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the Detect time multiplier."
        ::= { extremeBfdSessEntry 30 }

    extremeBfdSessAuthPresFlag OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object indicates that the local system's
             desire to use Authentication. Specifically, it is set
             to true(1) if the local system wishes the session
             to be authenticated or false(2) if not."
        REFERENCE
            "Sections 4.2 - 4.4 from Katz, D. and D. Ward, 
             Bidirectional Forwarding Detection (BFD), RFC 5880, 
             June 2012."
        DEFVAL { false }
        ::= { extremeBfdSessEntry 31 }

    extremeBfdSessAuthenticationType OBJECT-TYPE
        SYNTAX     ExtremeBfdSessAuthenticationTypeTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The Authentication Type used for this BFD session.
             This field is valid only when the Authentication
             Present bit is set. Max-access to this object as well as
             other authentication related objects are set to
             read-create in order to support management of a single
             key ID at a time, key rotation is not handled. Key update
             in practice must be done by atomic update using a set
             containing all affected objects in the same varBindList
             or otherwise risk the session dropping. Value -1
             indicates that no authentication is in use for this
             session."
        REFERENCE
            "Sections 4.2 - 4.4 from Katz, D. and D. Ward, 
             Bidirectional Forwarding Detection (BFD), RFC 5880, 
             June 2012."
        DEFVAL { -1 }
        ::= { extremeBfdSessEntry 32 }

    extremeBfdSessAuthenticationKeyID OBJECT-TYPE
        SYNTAX     Integer32 (-1 | 0..255)
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The authentication key ID in use for this session.  This
             object permits multiple keys to be active simultaneously.
             When extremeBfdSessAuthPresFlag is false(2), then the value
             of this object MUST be -1.  The value -1 indicates that
             no Authentication Key ID will be present in the optional
             BFD Authentication Section."
        REFERENCE
            "Sections 4.2 - 4.4 from Katz, D. and D. Ward, 
             Bidirectional Forwarding Detection (BFD), RFC 5880, 
             June 2012."
        DEFVAL { -1 }
        ::= { extremeBfdSessEntry 33 }

    extremeBfdSessAuthenticationKey OBJECT-TYPE
        SYNTAX     ExtremeBfdSessionAuthenticationKeyTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The authentication key.  When the
             extremeBfdSessAuthenticationType is simplePassword(1), the value
             of this object is the password present in the BFD packets.

             When the extremeBfdSessAuthentication type is one of the keyed
             authentication types, this value is used in the
             computation of the key present in the BFD authentication
             packet."
        REFERENCE
            "Sections 4.2 - 4.4 from from Katz, D. and D. Ward, 
             Bidirectional Forwarding Detection (BFD), RFC 5880, 
             June 2012."
        ::= { extremeBfdSessEntry 34 }

    extremeBfdSessStorageType OBJECT-TYPE
        SYNTAX     StorageType
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This variable indicates the storage type for this
             object. Conceptual rows having the value
             'permanent' need not allow write-access to any
             columnar objects in the row."
        ::= { extremeBfdSessEntry 35 }

    extremeBfdSessRowStatus OBJECT-TYPE
        SYNTAX     RowStatus
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, no
             objects in this row can be modified except the
             extremeBfdSessRowStatus and extremeBfdSessStorageType."
        ::= { extremeBfdSessEntry 36 }

 -- BFD Session Performance Table

    extremeBfdSessPerfTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ExtremeBfdSessPerfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "This table specifies BFD Session performance counters."
        ::= { extremeBfdObjects 3 }

    extremeBfdSessPerfEntry OBJECT-TYPE
        SYNTAX     ExtremeBfdSessPerfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "An entry in this table is created by a BFD-enabled node
             for every BFD Session. extremeBfdSessPerfDiscTime is used to
             indicate potential discontinuity for all counter objects
             in this table."
        AUGMENTS    { extremeBfdSessEntry }
        ::= { extremeBfdSessPerfTable 1 }

    ExtremeBfdSessPerfEntry ::= SEQUENCE {
       extremeBfdSessPerfCtrlPktIn           Counter32,
       extremeBfdSessPerfCtrlPktOut          Counter32,
       extremeBfdSessPerfCtrlPktDrop         Counter32,
       extremeBfdSessPerfCtrlPktDropLastTime TimeStamp,
       extremeBfdSessPerfEchoPktIn           Counter32,
       extremeBfdSessPerfEchoPktOut          Counter32,
       extremeBfdSessPerfEchoPktDrop         Counter32,
       extremeBfdSessPerfEchoPktDropLastTime TimeStamp,
       extremeBfdSessUpTime                  TimeStamp,
       extremeBfdSessPerfLastSessDownTime    TimeStamp,
       extremeBfdSessPerfLastCommLostDiag    ExtremeBfdDiagTC,
       extremeBfdSessPerfSessUpCount         Counter32,
       extremeBfdSessPerfDiscTime            TimeStamp,

       -- High Capacity Counters
       extremeBfdSessPerfCtrlPktInHC         Counter64,
       extremeBfdSessPerfCtrlPktOutHC        Counter64,
       extremeBfdSessPerfCtrlPktDropHC       Counter64,
       extremeBfdSessPerfEchoPktInHC         Counter64,
       extremeBfdSessPerfEchoPktOutHC        Counter64,
       extremeBfdSessPerfEchoPktDropHC       Counter64
    }

 -- Ed Note: should we add per-diag code counts here,

    extremeBfdSessPerfCtrlPktIn OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD control messages received for this
             BFD session.

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfCtrlPktInHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 1 }

    extremeBfdSessPerfCtrlPktOut OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD control messages sent for this BFD
             session. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfCtrlPktOutHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 2 }

    extremeBfdSessPerfCtrlPktDrop OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD control messages received for this
             session yet dropped for being invalid. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfCtrlPktDropHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 3 }

    extremeBfdSessPerfCtrlPktDropLastTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
             which received BFD control message for this session was
             dropped. If no such up event exists, this object contains
             a zero value."
        ::= { extremeBfdSessPerfEntry 4 }

    extremeBfdSessPerfEchoPktIn OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD echo messages received for this
             BFD session. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfEchoPktInHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 5 }

    extremeBfdSessPerfEchoPktOut OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD echo messages sent for this BFD
             session. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfEchoPktOutHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 6 }

    extremeBfdSessPerfEchoPktDrop OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD echo messages received for this
             session yet dropped for being invalid. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfEchoPktDropHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 7 }

    extremeBfdSessPerfEchoPktDropLastTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
             which received BFD echo message for this session was
             dropped. If no such up event exists, this object contains
             a zero value."
        ::= { extremeBfdSessPerfEntry 8 }

    extremeBfdSessUpTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at which
             the session came up. If no such up event exists this object
             contains a zero value."
        ::= { extremeBfdSessPerfEntry 9 }

    extremeBfdSessPerfLastSessDownTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
             which the last time communication was lost with the
             neighbor. If no such down event exist this object
             contains a zero value."
        ::= { extremeBfdSessPerfEntry 10 }

    extremeBfdSessPerfLastCommLostDiag OBJECT-TYPE
        SYNTAX     ExtremeBfdDiagTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The BFD diag code for the last time communication was lost
             with the neighbor. If no such down event exists this object
             contains a zero value."
        ::= { extremeBfdSessPerfEntry 11 }

    extremeBfdSessPerfSessUpCount OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of times this session has gone into the Up
             state since the system last rebooted."
        ::= { extremeBfdSessPerfEntry 12 }

    extremeBfdSessPerfDiscTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
          "The value of sysUpTime on the most recent occasion at
           which any one or more of the session counters suffered
           a discontinuity.

           The relevant counters are the specific instances associated
           with this BFD session of any Counter32 object contained in
           the BfdSessPerfTable. If no such discontinuities have
           occurred since the last re-initialization of the local
           management subsystem, then this object contains a zero
           value."
        ::= { extremeBfdSessPerfEntry 13 }

    extremeBfdSessPerfCtrlPktInHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD control
             messages received for this BFD session. 

             The least significant 32 bits MUST equal to
             extremeBfdSessPerfCtrlPktIn, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 14 }

    extremeBfdSessPerfCtrlPktOutHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD control
             messages transmitted for this BFD session.
             The least significant 32 bits MUST equal to
             extremeBfdSessPerfCtrlPktOut, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 15 }

    extremeBfdSessPerfCtrlPktDropHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD control
             messages received for this BFD session yet dropped for
             being invalid.

             The least significant 32 bits MUST equal to
             extremeBfdSessPerfCtrlPktDrop, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 16 }

    extremeBfdSessPerfEchoPktInHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD echo
             messages received for this BFD session.

             The least significant 32 bits MUST equal to
             extremeBfdSessPerfEchoPktIn, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 17 }

    extremeBfdSessPerfEchoPktOutHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD echo
             messages transmitted for this BFD session.
             The least significant 32 bits MUST equal to
             extremeBfdSessPerfEchoPktOut, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 18 }

    extremeBfdSessPerfEchoPktDropHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD echo
             messages received for this BFD session yet dropped
             for being invalid.
             The least significant 32 bits MUST equal to
             extremeBfdSessPerfEchoPktDrop, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 19 }

 -- BFD Session Discriminator Mapping Table

    extremeBfdSessDiscMapTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ExtremeBfdSessDiscMapEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session Discriminator Mapping Table maps a
             local discriminator value to associated BFD session's
             ExtremeBfdSessIndexTC used in the extremeBfdSessionTable."
        ::= { extremeBfdObjects 4 }

    extremeBfdSessDiscMapEntry OBJECT-TYPE
        SYNTAX     ExtremeBfdSessDiscMapEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session Discriminator Map Entry describes
             BFD session that is mapped to this ExtremeBfdSessIndexTC."

        INDEX { extremeBfdSessDiscriminator }
        ::= { extremeBfdSessDiscMapTable 1 }

    ExtremeBfdSessDiscMapEntry ::= SEQUENCE {
        extremeBfdSessDiscMapIndex            ExtremeBfdSessIndexTC,
        extremeBfdSessDiscMapStorageType      StorageType,
        extremeBfdSessDiscMapRowStatus        RowStatus
    }

    extremeBfdSessDiscMapIndex OBJECT-TYPE
        SYNTAX     ExtremeBfdSessIndexTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the ExtremeBfdSessIndexTC referred to by
             the indices of this row. In essence, a mapping is
             provided between these indexes and the extremeBfdSessTable."
        ::= { extremeBfdSessDiscMapEntry 1 }

    extremeBfdSessDiscMapStorageType OBJECT-TYPE
        SYNTAX     StorageType
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This variable indicates the storage type for this
             object. Conceptual rows having the value
             'permanent' need not allow write-access to any
             columnar objects in the row."
        ::= { extremeBfdSessDiscMapEntry 2 }

    extremeBfdSessDiscMapRowStatus OBJECT-TYPE
        SYNTAX     RowStatus
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, no
             objects in this row can be modified except the
             extremeBfdSessDiscMapRowStatus and extremeBfdSessDiscMapStorageType."
        ::= { extremeBfdSessDiscMapEntry 3 }

 -- BFD Session IP Mapping Table

    extremeBfdSessIpMapTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ExtremeBfdSessIpMapEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session IP Mapping Table maps given
             extremeBfdSessInterface, extremeBfdSessSrcAddrType, extremeBfdSessSrcAddr,
             extremeBfdSessDstAddrType and extremeBfdSessDstAddr to an associated 
             BFD session's ExtremeBfdSessIndexTC used in
             the extremeBfdSessionTable."
        ::= { extremeBfdObjects 5 }

    extremeBfdSessIpMapEntry OBJECT-TYPE
        SYNTAX     ExtremeBfdSessIpMapEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "The BFD Session IP Map Entry describes
            BFD session that is mapped to this ExtremeBfdSessIndexTC."
        INDEX {
            extremeBfdSessInterface,
            extremeBfdSessSrcAddrType,
            extremeBfdSessSrcAddr,
            extremeBfdSessDstAddrType,
            extremeBfdSessDstAddr
        }
        ::= { extremeBfdSessIpMapTable 1 }

    ExtremeBfdSessIpMapEntry ::= SEQUENCE {
        extremeBfdSessIpMapIndex            ExtremeBfdSessIndexTC,
        extremeBfdSessIpMapStorageType      StorageType,
        extremeBfdSessIpMapRowStatus        RowStatus
    }

    extremeBfdSessIpMapIndex OBJECT-TYPE
        SYNTAX     ExtremeBfdSessIndexTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the ExtremeBfdSessIndexTC referred to by
             the indexes of this row. In essence, a mapping is
             provided between these indexes and the extremeBfdSessTable."
        ::= { extremeBfdSessIpMapEntry 1 }

    extremeBfdSessIpMapStorageType OBJECT-TYPE
        SYNTAX     StorageType
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This variable indicates the storage type for this
             object. Conceptual rows having the value
             'permanent' need not allow write-access to any
             columnar objects in the row."
        ::= { extremeBfdSessIpMapEntry 2 }

    extremeBfdSessIpMapRowStatus OBJECT-TYPE
        SYNTAX     RowStatus
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table. When a row in this
             table has a row in the active(1) state, no
             objects in this row can be modified except the
             extremeBfdSessIpMapRowStatus and extremeBfdSessIpMapStorageType."
        ::= { extremeBfdSessIpMapEntry 3 }

 -- Notification Configuration

    extremeBfdSessUp NOTIFICATION-TYPE
        OBJECTS {
            extremeBfdSessDiag,  -- low range value 
            extremeBfdSessOperMode   -- high range value
        }
        STATUS     current
        DESCRIPTION
            "This notification is generated when the
             extremeBfdSessState object for one or more contiguous
             entries in extremeBfdSessTable are about to enter the up(4)
             state from some other state. The included values of
             extremeBfdSessDiag MUST both be set equal to this
             new state (i.e: up(4)).  The two instances of
             extremeBfdSessDiag in this notification indicate the range
             of indexes that are affected.  Note that all the indexes
             of the two ends of the range can be derived from the
             instance identifiers of these two objects.  For the
             cases where a contiguous range of sessions
             have transitioned into the up(4) state at roughly
             the same time, the device SHOULD issue a single
             notification for each range of contiguous indexes in
             an effort to minimize the emission of a large number
             of notifications.  If a notification has to be
             issued for just a single extremeBfdSessEntry, then
             the instance identifier (and values) of the two
             extremeBfdSessDiag objects MUST be the identical."
        ::= { extremeBfdNotifications 1 }

    extremeBfdSessDown NOTIFICATION-TYPE
        OBJECTS {
            extremeBfdSessDiag, -- low range value
            extremeBfdSessOperMode  -- high range value
        }
        STATUS     current
        DESCRIPTION
             "This notification is generated when the
             extremeBfdSessState object for one or more contiguous
             entries in extremeBfdSessTable are about to enter the down(2)
             or adminDown(1) states from some other state. The included
             values of extremeBfdSessDiag MUST both be set equal to this new
             state (i.e: down(2) or adminDown(1)).  The two instances
             of extremeBfdSessDiag in this notification indicate the range
             of indexes that are affected.  Note that all the indexes
             of the two ends of the range can be derived from the
             instance identifiers of these two objects.  For
             cases where a contiguous range of sessions
             have transitioned into the down(2) or adminDown(1) states
             at roughly the same time, the device SHOULD issue a single
             notification for each range of contiguous indexes in
             an effort to minimize the emission of a large number
             of notifications.  If a notification has to be
             issued for just a single extremeBfdSessEntry, then
             the instance identifier (and values) of the two
             extremeBfdSessDiag objects MUST be the identical."
        ::= { extremeBfdNotifications 2 }

 -- Ed Note: We need to add notification for changes
 -- when the two ends automatically negotiate to a new detection time
 -- value or when detection multiplier changes.


 -- Module compliance.

    extremeBfdGroups
        OBJECT IDENTIFIER ::= { extremeBfdConformance 1 }

    extremeBfdCompliances
        OBJECT IDENTIFIER ::= { extremeBfdConformance 2 }

 -- Compliance requirement for fully compliant implementations.

    extremeBfdModuleFullCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "Compliance statement for agents that provide full
             support for the BFD-MIB module. Such devices can
             then be monitored and also be configured using
             this MIB module."
        MODULE -- This module.

        MANDATORY-GROUPS {
            extremeBfdSessionGroup,
            extremeBfdSessionReadOnlyGroup,
            extremeBfdSessionPerfGroup,
            extremeBfdNotificationGroup
        }

        GROUP        extremeBfdSessionPerfHCGroup
        DESCRIPTION  "This group is mandatory for all systems that
                      are able to support the Counter64 date type."

        OBJECT       extremeBfdSessSrcAddrType
        SYNTAX       InetAddressType 
        DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2) and ipv6z(4)
                      support are required."

        OBJECT       extremeBfdSessSrcAddr
        SYNTAX       InetAddress (SIZE (0|4|16|20))
        DESCRIPTION  "An implementation is only required to support
                      unknown(0), ipv4(1), ipv6(2) and ipv6z(4) sizes."

        OBJECT       extremeBfdSessDstAddrType
        SYNTAX       InetAddressType 
        DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2) and ipv6z(4)
                      support are required."

        OBJECT       extremeBfdSessDstAddr
        SYNTAX       InetAddress (SIZE (0|4|16|20))
        DESCRIPTION  "An implementation is only required to support
                      unknown(0), ipv4(1), ipv6(2) and ipv6z(4) sizes."

        OBJECT       extremeBfdSessRowStatus
        SYNTAX       RowStatus 
        WRITE-SYNTAX RowStatus 
        DESCRIPTION  "Support for createAndWait and notReady is not
                      required."

        OBJECT       extremeBfdSessDiscMapRowStatus
        SYNTAX       RowStatus 
        WRITE-SYNTAX RowStatus 
        DESCRIPTION  "Support for createAndWait and notReady is not
                      required."

        OBJECT       extremeBfdSessIpMapRowStatus
        SYNTAX       RowStatus 
        WRITE-SYNTAX RowStatus 
        DESCRIPTION  "Support for createAndWait and notReady is not
                      required."

        ::= { extremeBfdCompliances 1 }

    extremeBfdModuleReadOnlyCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "Compliance requirement for implementations that only
             provide read-only support for BFD-MIB. Such devices
             can then be monitored but cannot be configured using
             this MIB module."

        MODULE -- This module.

        MANDATORY-GROUPS {
            extremeBfdSessionGroup,
            extremeBfdSessionReadOnlyGroup,
            extremeBfdSessionPerfGroup,
            extremeBfdNotificationGroup
        }

        GROUP        extremeBfdSessionPerfHCGroup
        DESCRIPTION  "This group is mandatory for all systems that
                      are able to support the Counter64 date type."

        OBJECT       extremeBfdSessVersionNumber
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDestinationUdpPort
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessSourceUdpPort
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessEchoSourceUdpPort
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAdminStatus
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessOperMode
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDemandModeDesiredFlag
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessControlPlaneIndepFlag
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessMultipointFlag
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessInterface
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessSrcAddrType
        SYNTAX       InetAddressType 
                                    
        MIN-ACCESS   read-only
        DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2) and ipv6z(4)
                      support are required."

        OBJECT       extremeBfdSessSrcAddr
        SYNTAX       InetAddress (SIZE (0|4|16|20))
        MIN-ACCESS   read-only
        DESCRIPTION  "An implementation is only required to support
                      unknown(0), ipv4(1), ipv6(2) and ipv6z(4) sizes."

        OBJECT       extremeBfdSessDstAddrType
        SYNTAX       InetAddressType 
                                   
        MIN-ACCESS   read-only
        DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2) and ipv6z(4)
                      support are required."

        OBJECT       extremeBfdSessDstAddr
        SYNTAX       InetAddress (SIZE (0|4|16|20))
        MIN-ACCESS   read-only
        DESCRIPTION  "An implementation is only required to support
                      unknown(0), ipv4(1), ipv6(2) and ipv6z(4) sizes."

        OBJECT       extremeBfdSessGTSM
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessGTSMTTL
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDesiredMinTxInterval
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessReqMinRxInterval
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessReqMinEchoRxInterval
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDetectMult
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAuthPresFlag
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAuthenticationType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAuthenticationKeyID
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAuthenticationKey
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessStorageType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessRowStatus
        SYNTAX       RowStatus 
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDiscMapStorageType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDiscMapRowStatus
        SYNTAX       RowStatus 
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessIpMapStorageType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessIpMapRowStatus
        SYNTAX       RowStatus 
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        ::= { extremeBfdCompliances 2 }

 -- Units of conformance.

    extremeBfdSessionGroup OBJECT-GROUP
        OBJECTS {
            extremeBfdAdminStatus,
            extremeBfdSessNotificationsEnable,
            extremeBfdSessVersionNumber,
            extremeBfdSessType,
            extremeBfdSessDestinationUdpPort,
            extremeBfdSessSourceUdpPort,
            extremeBfdSessEchoSourceUdpPort,
            extremeBfdSessAdminStatus,
            extremeBfdSessOperMode,
            extremeBfdSessDemandModeDesiredFlag,
            extremeBfdSessControlPlaneIndepFlag,
            extremeBfdSessMultipointFlag,
            extremeBfdSessInterface,
            extremeBfdSessSrcAddrType,
            extremeBfdSessSrcAddr,
            extremeBfdSessDstAddrType,
            extremeBfdSessDstAddr,
            extremeBfdSessGTSM,
            extremeBfdSessGTSMTTL,
            extremeBfdSessDesiredMinTxInterval,
            extremeBfdSessReqMinRxInterval,
            extremeBfdSessReqMinEchoRxInterval,
            extremeBfdSessDetectMult,
            extremeBfdSessAuthPresFlag,
            extremeBfdSessAuthenticationType,
            extremeBfdSessAuthenticationKeyID,
            extremeBfdSessAuthenticationKey,
            extremeBfdSessStorageType,
            extremeBfdSessRowStatus,
            extremeBfdSessDiscMapStorageType,
            extremeBfdSessDiscMapRowStatus,
            extremeBfdSessIpMapStorageType,
            extremeBfdSessIpMapRowStatus
        }
        STATUS     current
        DESCRIPTION
            "Collection of objects needed for BFD sessions."
        ::= { extremeBfdGroups 1 }

    extremeBfdSessionReadOnlyGroup OBJECT-GROUP
        OBJECTS {
            extremeBfdSessDiscriminator,
            extremeBfdSessRemoteDiscr,
            extremeBfdSessState,
            extremeBfdSessRemoteHeardFlag,
            extremeBfdSessDiag,
            extremeBfdSessNegotiatedInterval,
            extremeBfdSessNegotiatedEchoInterval,
            extremeBfdSessNegotiatedDetectMult,
            extremeBfdSessDiscMapIndex,
            extremeBfdSessIpMapIndex
        }
        STATUS     current
        DESCRIPTION
            "Collection of read-only objects needed for BFD sessions."
        ::= { extremeBfdGroups 2 }

    extremeBfdSessionPerfGroup OBJECT-GROUP
        OBJECTS {
            extremeBfdSessPerfCtrlPktIn,
            extremeBfdSessPerfCtrlPktOut,
            extremeBfdSessPerfCtrlPktDrop,
            extremeBfdSessPerfCtrlPktDropLastTime,
            extremeBfdSessPerfEchoPktIn,
            extremeBfdSessPerfEchoPktOut,
            extremeBfdSessPerfEchoPktDrop,
            extremeBfdSessPerfEchoPktDropLastTime,
            extremeBfdSessUpTime,
            extremeBfdSessPerfLastSessDownTime,
            extremeBfdSessPerfLastCommLostDiag,
            extremeBfdSessPerfSessUpCount,
            extremeBfdSessPerfDiscTime
        }
        STATUS     current
        DESCRIPTION
            "Collection of objects needed to monitor the
             performance of BFD sessions."
        ::= { extremeBfdGroups 3 }

    extremeBfdSessionPerfHCGroup OBJECT-GROUP
        OBJECTS {
            extremeBfdSessPerfCtrlPktInHC,
            extremeBfdSessPerfCtrlPktOutHC,
            extremeBfdSessPerfCtrlPktDropHC,
            extremeBfdSessPerfEchoPktInHC,
            extremeBfdSessPerfEchoPktOutHC,
            extremeBfdSessPerfEchoPktDropHC
        }
        STATUS     current
        DESCRIPTION
            "Collection of objects needed to monitor the
             performance of BFD sessions for which the
             values of extremeBfdSessPerfPktIn, extremeBfdSessPerfPktOut
             wrap around too quickly."
        ::= { extremeBfdGroups 4 }

    extremeBfdNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
            extremeBfdSessUp,
            extremeBfdSessDown
        }
        STATUS     current
        DESCRIPTION
            "Set of notifications implemented in this
             module."
        ::= { extremeBfdGroups 5 }

    END


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

EXTREME-VRRP-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY         FROM SNMPv2-SMI
        OBJECT-TYPE             FROM SNMPv2-SMI
        TruthValue              FROM SNMPv2-TC
        RowStatus               FROM SNMPv2-TC
        extremeAgent            FROM EXTREME-BASE-MIB
        IpAddress               FROM SNMPv2-SMI
        ifIndex                 FROM IF-MIB
        vrrpOperVrId            FROM VRRP-MIB;

   extremeVrrpMIB MODULE-IDENTITY
        LAST-UPDATED "201601040000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "This MIB describes objects used for managing 
                     Extreme Networks propreitary VRRP controls"
        REVISION     "201601040000Z"
        DESCRIPTION "Initial version of this MIB module"
    ::= { extremeAgent 49 }


-- *******************************************************************
--  VRRP MIB Groups
-- *******************************************************************

 extremeVrrpOperations      OBJECT IDENTIFIER ::= { extremeVrrpMIB 1 }
 extremeVrrpConformance     OBJECT IDENTIFIER ::= { extremeVrrpMIB 2 }


-- *******************************************************************
--  VRRP Operations Table
-- *******************************************************************

 extremeVrrpOperTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF ExtremeVrrpOperEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "Operations table for a VRRP router which consists of a
          sequence (i.e., one or more conceptual rows) of
          'extremeVrrpOperEntry' items. This table is extension of 
          IETF tables, vrrpOperTable & vrrpv3OperationsTable "

        ::= { extremeVrrpOperations 1 }

 extremeVrrpOperEntry OBJECT-TYPE
     SYNTAX       ExtremeVrrpOperEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "An entry in the extremeVrrpOperTable containing the operational
          characteristics of a virtual router. On a VRRP router,
          a given virtual router is identified by a combination
          of the IF index and VRID."

    INDEX    { ifIndex, vrrpOperVrId }
     ::= { extremeVrrpOperTable 1 }

 ExtremeVrrpOperEntry ::=
     SEQUENCE {
         extremeVrrpFabricRoutingMode
             INTEGER
     }

  extremeVrrpFabricRoutingMode OBJECT-TYPE
     SYNTAX       INTEGER {
         enable     (1),
         disable    (2)
     }
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
         "This object controls whether VRRP Backup node should assume L3 
          forwarding responsibility. Default is False"
     DEFVAL { disable }
     ::= { extremeVrrpOperEntry 1 }

-- *******************************************************************
--  Conformance Information
-- *******************************************************************

 extremeVrrpMIBCompliances  OBJECT IDENTIFIER ::= { extremeVrrpConformance 1 }
 extremeVrrpMIBGroups       OBJECT IDENTIFIER ::= { extremeVrrpConformance 2 }

-- ...................................................................
-- Compliance Statements
-- ...................................................................
 extremeVrrpMIBCompliance MODULE-COMPLIANCE
     STATUS current
     DESCRIPTION
        "The core compliance statement for Extreme's VRRP Extensions implementations."
     MODULE -- this module
     MANDATORY-GROUPS  {
         extremeVrrpOperGroup
     }
     ::= { extremeVrrpMIBCompliances 1 }

-- ...................................................................
-- Conformance Groups
-- ...................................................................
 
 extremeVrrpOperGroup OBJECT-GROUP
     OBJECTS {
         extremeVrrpFabricRoutingMode 
         }
     STATUS current
     DESCRIPTION
         "Conformance group for extreme VRRP operations."
     ::= { extremeVrrpMIBGroups 1 }  
END

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

EXTREME-NP-MIB DEFINITIONS ::= BEGIN

    IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                Unsigned32    FROM SNMPv2-SMI
        Counter32    FROM SNMPv2-SMI
        Counter64    FROM SNMPv2-SMI
                IpAddress       FROM SNMPv2-SMI
        DisplayString   FROM RFC1213-MIB
        extremeAgent    FROM EXTREME-BASE-MIB;
        


        extremeNPMib MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme NP objects: NP card information"
        ::= { extremeAgent 21 }

    extremeNPModule    OBJECT IDENTIFIER ::= { extremeNPMib 1 }
    
    extremeNPModuleTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeNPModuleEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each Intelligent
        module in the chassis."
            ::= { extremeNPModule 1 }

    extremeNPModuleEntry OBJECT-TYPE
        SYNTAX  ExtremeNPModuleEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the
        intelligent modules configured in the chassis.
        This table does not contain rows for the slots
        which do not have a network processor based module."
        INDEX      { extremeNPModuleSlotNumber }
            ::= { extremeNPModuleTable 1 }

    ExtremeNPModuleEntry ::= SEQUENCE {
        extremeNPModuleSlotNumber        INTEGER,        
        extremeNPModuleDescription        DisplayString,
        extremeNPModuleCurrentSoftware        DisplayString,
        extremeNPModulePrimarySoftware        DisplayString,
        extremeNPModuleSecondarySoftware    DisplayString,
        extremeNPModuleBootromVersion        DisplayString,
        extremeNPModuleProcessorState        OCTET STRING
    }
    
    
    extremeNPModuleSlotNumber OBJECT-TYPE
        SYNTAX INTEGER(1..8)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular slot 
        in the chassis."
        ::= { extremeNPModuleEntry 1 }

    extremeNPModuleDescription   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "A description of the particular slot in the chassis."
        ::= { extremeNPModuleEntry 2 }

    extremeNPModuleCurrentSoftware   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..160))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The version of the software currently running on the module."
        ::= { extremeNPModuleEntry 3 }

    extremeNPModulePrimarySoftware   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..160))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The version of software in the primary image of the module."
        ::= { extremeNPModuleEntry 4 }
                       
    extremeNPModuleSecondarySoftware   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..160))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The version of software in the secondary image of the module."
        ::= { extremeNPModuleEntry 5 }

    extremeNPModuleBootromVersion   OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..80))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "The version of bootrom that the module will use when restarting."
        ::= { extremeNPModuleEntry 6 }

    extremeNPModuleProcessorState   OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (8))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "An Octet String indicating the status of the various processors
        on an Intelligent Module. Each byte in the Octet String represents
        state for one processor.
        For the Avalanche based PoS and ARM modules, the first byte (from MSB)
        represents the state of the General Purpose Processor, the second byte
        the state of Network Processor 1, and the third byte the state of Network
        Processor 2 and so on. A value of 0 in each byte indicates that the
        Processor is not operational, while a value 1 indicates that it is."
        ::= { extremeNPModuleEntry 7 }
        
      
--        
-- SMA Module
--

    extremeSMAModule OBJECT IDENTIFIER ::= { extremeNPMib 2 }
    
    extremeSMATable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeSMAEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each SMA
        module in the chassis."
            ::= { extremeSMAModule 1 }

    extremeSMAEntry OBJECT-TYPE
        SYNTAX  ExtremeSMAEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the
        SMA modules configured in the chassis.
        This table does not contain rows for the slots
        which do not have an SMA module."
        INDEX      { extremeSMASlotNumber }
            ::= { extremeSMATable 1 }

    ExtremeSMAEntry ::= SEQUENCE {          
        extremeSMASlotNumber            INTEGER,  
        extremeSMAProtocolVersion        INTEGER,
        extremeSMAServiceVersion        DisplayString,
        extremeSMAUpTime            Unsigned32,
        extremeSMACpuUtilization                Unsigned32,
        extremeSMAMemUtilization                Unsigned32,
        extremeSMAQosBroadcaster                Unsigned32,        
        extremeSMANumFromBroadcaster            Unsigned32,        
        extremeSMANumToListener                 Unsigned32,
        extremeSMABytesBroadcaster        Counter64,
        extremeSMABytesListener            Counter64
    }
    
    extremeSMASlotNumber OBJECT-TYPE
        SYNTAX INTEGER(1..8)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular slot 
        in the chassis."
        ::= { extremeSMAEntry 1 }
                
    extremeSMAProtocolVersion OBJECT-TYPE
        SYNTAX INTEGER(1..255)
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "Protocol version."
        ::= { extremeSMAEntry 2 }
    
    extremeSMAServiceVersion OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..128))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "Service release version."
        ::= { extremeSMAEntry 3 }
        
    extremeSMAUpTime OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Continuous operating time of the module in seconds."
        ::= { extremeSMAEntry 4 }
        
    extremeSMACpuUtilization OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Percentage of CPU utilized in the last 5 seconds."
        ::= { extremeSMAEntry 5 }
    
    extremeSMAMemUtilization OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Percentage of memory utilized."        
        ::= { extremeSMAEntry 6 }

    extremeSMAQosBroadcaster OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION        
        "60 second rolling average of %QoS.
        Number of bytes received / Number of bytes expected per duration.
        Note: this can potentially exceed 100%."
        ::= { extremeSMAEntry 7 }            
                
        extremeSMANumFromBroadcaster OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The total number of broadcasters sending streams."
        ::= { extremeSMAEntry 8 }
                
    extremeSMANumToListener OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION        
        "The total number of listeners connected."
        ::= { extremeSMAEntry 9 }
        
    extremeSMABytesBroadcaster OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION        
        "The total number of media bytes received from the broadcasters."
        ::= { extremeSMAEntry 10 }
        
    extremeSMABytesListener OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION        
        "The total number of data bytes sent to listeners."
        ::= { extremeSMAEntry 11 }


--        
-- ATM Module
--

    extremeATMModule OBJECT IDENTIFIER ::= { extremeNPMib 3 }
    
    extremeATMCellPduTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeATMCellPduEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each ATM
        module in the chassis."
            ::= { extremeATMModule 1 }

    extremeATMCellPduEntry OBJECT-TYPE
        SYNTAX  ExtremeATMCellPduEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the
        ATM modules configured in the chassis.
        This table does not contain rows for the slots
        which do not have an ATM module."
        INDEX      { extremeATMPortNumber }
            ::= { extremeATMCellPduTable 1 }


    ExtremeATMCellPduEntry ::= SEQUENCE {          
          extremeATMPortNumber         INTEGER,  
                extremeATMRxCell             Unsigned32,
                extremeATMTxCell             Unsigned32,
                extremeATMRxCellHecError     Unsigned32,   
                extremeATMRxCellError        Unsigned32,
                extremeATMRxAAL5Pdu          Unsigned32,
                extremeATMTxAAL5Pdu          Unsigned32,
                extremeATMRxAAL5Bytes        Counter64,
                extremeATMTxAAL5Bytes        Counter64,
                extremeATMPortStatus         DisplayString
    }


    extremeATMPortNumber OBJECT-TYPE
        SYNTAX INTEGER(1..64)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular port number
        in the chassis."
        ::= { extremeATMCellPduEntry 1 }

    extremeATMRxCell OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number of ATM cell Received."
        ::= { extremeATMCellPduEntry 2 }

    extremeATMTxCell OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number of ATM cell Transmitted."
        ::= { extremeATMCellPduEntry 3 }
                
    extremeATMRxCellHecError OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number of received cells with HEC error."
        ::= { extremeATMCellPduEntry 4 }
                
    extremeATMRxCellError OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number of received cells discarded due to other error."
        ::= { extremeATMCellPduEntry 5 }
                

        extremeATMRxAAL5Pdu OBJECT-TYPE      
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number AAL-5 PDU Received."
        ::= { extremeATMCellPduEntry 6 }

        extremeATMTxAAL5Pdu OBJECT-TYPE      
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number AAL-5 PDU Transmitted."
        ::= { extremeATMCellPduEntry 7 }

        extremeATMRxAAL5Bytes OBJECT-TYPE      
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number AAL-5 PDU Octetd Received."
        ::= { extremeATMCellPduEntry 8 }

        extremeATMTxAAL5Bytes OBJECT-TYPE      
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number AAL-5 PDU Octetd Transmitted."
        ::= { extremeATMCellPduEntry 9 }

    extremeATMPortStatus OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..4))
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        "ATM port status."
        ::= { extremeATMCellPduEntry 10 }


-- Table 2
    extremeATMVpiVciTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeATMVpiVciEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table containing information about each ATM
        module in the chassis."
            ::= { extremeATMModule 2 }

    extremeATMVpiVciEntry OBJECT-TYPE
        SYNTAX  ExtremeATMVpiVciEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
        "A table entry containing information about the
        ATM modules configured in the chassis.
        This table does not contain rows for the slots
        which do not have an ATM module."
        INDEX      { extremeATMPortNum,
                            extremeATMPvc        }
            ::= { extremeATMVpiVciTable 1 }

    ExtremeATMVpiVciEntry ::= SEQUENCE {          
          extremeATMPortNum            INTEGER,  
                extremeATMPvc                INTEGER,
                extremeATMVpi                INTEGER,
                extremeATMVci                INTEGER
    }

    extremeATMPortNum OBJECT-TYPE
        SYNTAX INTEGER(1..64)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the particular port number
        in the chassis."
        ::= { extremeATMVpiVciEntry 1 }

    extremeATMPvc OBJECT-TYPE
        SYNTAX INTEGER(1..3072)
                MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the pvc number configured
        on a single port."
        ::= { extremeATMVpiVciEntry 2 }

    extremeATMVpi OBJECT-TYPE
        SYNTAX INTEGER(0..15)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the VPI value
        of the configured PVCs."
        ::= { extremeATMVpiVciEntry 3 }

    extremeATMVci OBJECT-TYPE
        SYNTAX INTEGER(17..4095)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "A unique integer identifying the VCI value
        of the configured PVCs."
        ::= { extremeATMVpiVciEntry 4 }

--              
-- MPLS TLS Module
--

        extremeMplsModule OBJECT IDENTIFIER ::= { extremeNPMib 4 }
        
        extremeMplsTlsTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeMplsTlsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table containing information about each MPLS TLS
                tunnel in the chassis."
                        ::= { extremeMplsModule 1 }

        extremeMplsTlsEntry OBJECT-TYPE
                SYNTAX  ExtremeMplsTlsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table entry containing information about the
                MPLS TLS tunnel."
                INDEX     { extremeMplsTlsNum }
                        ::= { extremeMplsTlsTable 1 }


        ExtremeMplsTlsEntry ::= SEQUENCE {            
                extremeMplsTlsNum            INTEGER, 
                extremeMplsTlsName           DisplayString,  
                extremeMplsTlsLocalIpAddr    IpAddress,
                extremeMplsTlsPeerIpAddr     IpAddress,
                extremeMplsTlsLocalVlanID    Unsigned32,   
                extremeMplsTlsLocalVlanName  DisplayString,
                extremeMplsTlsDynamic        Unsigned32,
                extremeMplsTlsType           Unsigned32,
                extremeMplsTlsVcID           Unsigned32,
                extremeMplsTlsLocalGroupID   Unsigned32,
                extremeMplsTlsRemoteGroupID  Unsigned32,
                extremeMplsTlsVcState        DisplayString,
                extremeMplsTlsIngressVcLabel Unsigned32,
                extremeMplsTlsEgressVcLabel  Unsigned32, 
                extremeMplsTlsPacketTx       Unsigned32,
                extremeMplsTlsPacketRx       Unsigned32,
                extremeMplsTlsOctetTx        Counter64,
                extremeMplsTlsOctetRx        Counter64
        }

        extremeMplsTlsNum OBJECT-TYPE
                SYNTAX INTEGER (1..16384)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "An index used to reference each configured TLS tunnel."
                ::= { extremeMplsTlsEntry 1 }

        extremeMplsTlsName OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..31))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The user defined TLS tunnel identifier name."
                ::= { extremeMplsTlsEntry 2 }

        extremeMplsTlsLocalIpAddr OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel local endpoint IP address, only valid if TLS tunnel
                is Dynamic. Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 3 }

        extremeMplsTlsPeerIpAddr OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel peer endpoint IP address."
                ::= { extremeMplsTlsEntry 4 }

        extremeMplsTlsLocalVlanID  OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The local Egress Vlan ID."
                ::= { extremeMplsTlsEntry 5 }
                                
        extremeMplsTlsLocalVlanName  OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..31))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The local Egress Vlan Name."
                ::= { extremeMplsTlsEntry 6 }
                                
        extremeMplsTlsDynamic OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Flag indicating that the TLS tunnel is Dynamic. If set, the TLS tunnel
                is dynamically signaled. If zero, the TLS tunnel is statically configured."
                ::= { extremeMplsTlsEntry 7 }
                                
        extremeMplsTlsType OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel type
                0- MPLS, Static
                1- MPLS, Martini ."
                ::= { extremeMplsTlsEntry 8 }

        extremeMplsTlsVcID OBJECT-TYPE      
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The configured VC ID, only valid if TLS tunnel is Dynamic.
                Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 9 }

        extremeMplsTlsLocalGroupID OBJECT-TYPE      
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The configured Local Group ID, only valid if TLS tunnel is Dynamic.
                Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 10 }

        extremeMplsTlsRemoteGroupID OBJECT-TYPE      
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The learned Remote Group ID, only valid if TLS tunnel is Dynamic.
                Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 11 }

        extremeMplsTlsIngressVcLabel OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel VLAN Ingress Label. If the TLS tunnel is Static,
                this value is configured. If TLS tunnel is Dynamic,
                this value is dynamically allocated from the TLS
                label range and signaled to the TLS tunnel peer."
                ::= { extremeMplsTlsEntry 12 }

        extremeMplsTlsEgressVcLabel OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel VLAN Egress Label. If the TLS tunnel is Static,
                this value is configured. If TLS tunnel is Dynamic,
                this value is learned from the TLS tunnel peer."
                ::= { extremeMplsTlsEntry 13 }

        extremeMplsTlsVcState OBJECT-TYPE      
                SYNTAX DisplayString (SIZE(0..79))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel VC state. Valid states include:
                - Idle
                - No LSP Available
                - Waiting for LDP session
                - Pending label mapping
                - Pending local configuration
                - MTU incompatibility
                - Up
                - Unknown
                - Error .. General failure
                - Error .. Targeted LDP session failure
                - Error .. Bridge configuration problem
                - Error .. Ingress label allocation failure
                - Error .. Failure sending TLS label mapping
                - Error .. Patricia tree insertion failure
                - Error .. Failure programming TLS hardware
                - Error .. MPLS not initialized
                - Error .. Unknown."
                ::= { extremeMplsTlsEntry 14 }

        extremeMplsTlsPacketTx  OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Packets Transmitted on this TLS tunnel."
                ::= { extremeMplsTlsEntry 15 }

        extremeMplsTlsPacketRx OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Packets Received on this TLS tunnel."
                ::= { extremeMplsTlsEntry 16 }

        extremeMplsTlsOctetTx OBJECT-TYPE
                SYNTAX Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Octets Transmitted on this TLS tunnel."
                ::= { extremeMplsTlsEntry 17 }

        extremeMplsTlsOctetRx OBJECT-TYPE
                SYNTAX Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Octets Received on this TLS tunnel."
                ::= { extremeMplsTlsEntry 18 }

END

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

EXTREME-PBQOS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter64
                                FROM SNMPv2-SMI
                TruthValue, RowStatus
                                FROM SNMPv2-TC
                ifEntry         FROM IF-MIB
              OwnerString     FROM RMON-MIB
        DisplayString    FROM RFC1213-MIB 
                extremeAgent, PortList, L4Port
                                FROM EXTREME-BASE-MIB;

        extremeQosPolicy MODULE-IDENTITY
                LAST-UPDATED "9903030000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION 
                        "Extreme QoS Policy configuration objects"
        ::= { extremeAgent 7 }

--
-- ============================================================================
--        Rules
-- ============================================================================
-- 
-- Policy rules are used to define the forwarding behaviour of either data
-- traffic or of signaling messages e.g. RSVP. At the ExtremeWare device <->
-- EEM interface, rules are of the following format:
-- 
-- <rule> ::= <rule_id>, <scope>, <direction>, <filter>, <treatment>
-- 
-- <rule_id> ::= INTEGER
-- <scope> ::= signaled | inband
-- <direction> ::= forward | backward | any
--
-- <filter> ::= <inport> | 
--               <outports>, <filterspec> |
--               <outports>, <iptosspec>
-- 
-- <inport> ::= <physport> | any
-- <outports> ::= <physport>* | any
-- <physport> ::= INTEGER | SLOT:INTEGER
-- 
-- The following fields may be used for classification of traffic into a QoS treatment:
-- - IP destination/range
-- - IP source/range
-- - Incoming IP Type-of-Service/mask/match
-- - transport-layer ProtocolNumber (TCP,UDP,other,any)
-- - TCP/UDP destination port number
-- - TCP/UDP source port number
--
-- These may be used in limited combinations to form compound patterns e.g.
-- IntServ filterspecs based on {IP src/dest, IP protocol number, TCP/UDP
-- src/dest} 5-tuples.
-- 
-- <filterspec> ::= <ipsrcrange> <ipdestrange> <ipproto> <srcport> <dstport>
-- <ipsrcrange> ::= IPADDRESS IPADDRESS
-- <ipdestrange> ::= IPADDRESS IPADDRESS
-- <ipproto> ::= tcp | udp | other | any
-- <srcport> ::= INTEGER(0..65535) | any
-- <dstport> ::= INTEGER(0..65535) | any
-- 
-- <iptosspec> ::= <iptosmatch> <iptosmask>  - match if IPTOS & iptosmask == iptosmatch
-- <iptosmatch> ::= INTEGER 0..255
-- <iptosmask> ::= INTEGER 0..255
-- 
-- N.B. IPTOS support is not available on first generation (1-G) silicon
-- IPTOS values are therefore ignored in EW 5.0.
--
-- Each rule is assigned an identifier, unique within each device. The rule is 
-- tagged as applying to either signaled data flows (i.e. RSVP) or to be
-- applied directly to the data itself. The direction of flow is also specified
-- : these apply to the direction of the *data* flow and indicate whether the
-- rule should be applied to one or both directions of a matching data or
-- signal flow.
--
-- This table specifies which physical input and output ports and what traffic
-- patterns are included in a rule.
-- 
-- Note: these filter fields are in addition to the existing extremeQosByVlanMappingTable 
-- table. ExtremeWare currently has a fixed precedence of filter rules: VLAN has the lowest 
-- precedence, followed by source physicalport, 802.1p, MAC and then IP/TCP/UDP as highest 
-- precedence. This implies that any entry in this extremeQosFilterTable takes precedence over 
-- any VLAN match that might indicate a QoS profile in extremeQosByVlanMappingTable. In addition, 
-- any entry that indicates a <filterspec> that is not "any" takes precedence over a filter 
-- indicating an individual <inport>. Any attempt to write a rule that indicates an individual
-- extremeQosRuleInPort as well as non-DEFVAL value for any of {<ipsrcrange> <ipdestrange> 
-- <ipproto> <srcport> <dstport>} will be rejected by the agent.
-- 
-- In other words, in the language of policy management, there is an implied rule precedence 
-- which is used to resolve conflicts in the case where an incoming data packet could potentially
-- be classified as matching 2 or more rules. Some conflicts can be indicated at the time a 
-- policy rule is applied to the device but others can only be detected and resolved at the
-- time a rule is invoked by an incoming message.
--

    extremeNextAvailableQosRuleIndex OBJECT-TYPE
        SYNTAX            INTEGER
        MAX-ACCESS    read-only
        STATUS            current
        DESCRIPTION
        "The value of the next available QoS Rule index. This
         object is used by an NMS to select an index value 
         for row-creation in the extremeQosRuleTable. The 
         current value of this object is changed to a new
         value when the current value is written to an agent's
         table. Row creation using the current value of this object
                 allocates a extremeQosRuleIndex.  Note the following:
        
         1. A newly created row does not have to be active(1)
            for the agent to allocate the extremeQosRuleIndex.

         2. Race conditions between multiple NMS's end when
            a row is created.  Rows are deemed created when
            a setRequest is successfully committed (i.e.
            the errorStats is noError(0)).

        3.  An agent that exhausts its supply of extremeQosRuleIndex
            values returns zero as the value of this
            object.  This can be used by an NMS as an indication
            to deleted unused rows and reboot the device."
    ::= { extremeQosPolicy 1 }         

    extremeQosClearIPFdb OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will clear the hardware IP
                       flow table."
    ::= { extremeQosPolicy 4 }

    extremeQosClearFdb OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will clear the hardware MAC
                       flow table."
    ::= { extremeQosPolicy 5 }


        extremeQosRuleTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF ExtremeQosRuleEntry
        MAX-ACCESS  not-accessible
        STATUS  current
                DESCRIPTION
                "Table of QoS policy rules. Entries that duplicate the exact
                same set of policy conditions are not allowed."
    ::= { extremeQosPolicy 2 }

        extremeQosRuleEntry OBJECT-TYPE
        SYNTAX  ExtremeQosRuleEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Entry in table of QoS policy rules"
               INDEX { extremeQosRuleIndex } 
    ::= { extremeQosRuleTable 1 }

        ExtremeQosRuleEntry ::= SEQUENCE
        {
                extremeQosRuleIndex             INTEGER,
                extremeQosRuleScope             INTEGER,
                extremeQosRuleDirection         INTEGER,
                extremeQosRuleInPort            INTEGER,
                extremeQosRuleInPortMask        PortList,
                extremeQosRuleDestAddrStart     IpAddress,
                extremeQosRuleDestAddrEnd       IpAddress,
                extremeQosRuleSrcAddrStart      IpAddress,
                extremeQosRuleSrcAddrEnd        IpAddress,
                extremeQosRuleProtocol          INTEGER,
                extremeQosRuleDestL4PortStart   L4Port,
                extremeQosRuleSourceL4PortStart L4Port,
                extremeQosRuleTosMask           OCTET STRING,
                extremeQosRuleTosMatch          OCTET STRING,
                extremeQosRuleQosProfileIndex   INTEGER,
                extremeQosRuleOwner             OwnerString,
                extremeQosRuleRowStatus         RowStatus,
                extremeQosRuleDestL4PortEnd     L4Port,
                extremeQosRuleSourceL4PortEnd   L4Port,
        extremeQosRulePrecedence    INTEGER,
        extremeQosRuleCounter           Counter64,
        extremeQosRuleName        DisplayString
        }

        extremeQosRuleIndex  OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "An index into the table of QoS policy pattern
                rules. The index for a manager to use for creating
                new rows is determined by reading the value of 
                extremeNextAvailableQosRuleIndex."
    ::= { extremeQosRuleEntry 1 }

        extremeQosRuleScope  OBJECT-TYPE
        SYNTAX  INTEGER { any (1), signaled(2), inband(3) }
        MAX-ACCESS     read-create
        STATUS  current
        DESCRIPTION
        "The scope of conditions in which this rule applies.
                The value 'signaled' means that the policy rule is
                applied only to QoS signaling messages e.g. RSVP. The
                value 'inband' means that the policy rule is applied
                only to data traffic passing through this node. the
                value 'any' means that the policy is applied to any
                of the above conditions. 

                Only the value 'any' is supported in ExtremeWare 6.0."
                DEFVAL { any }
    ::= { extremeQosRuleEntry 2 }

        extremeQosRuleDirection  OBJECT-TYPE
        SYNTAX          INTEGER { any(1), forward(2), backward(3) }
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The direction in which this rule applies. The value
                'forward' means that the rule is applied to data streams
                in the direction specified by the classification pattern.
                The value 'backward' means that the rule is applied in
                the reverse direction. The value 'any' means that the
                rule is applied for traffic in either direction of data
                flow. Note that the direction is applied to where the data 
                flow itself will go, not to the direction of any signaling 
                messages e.g. RSVP.

                Only the value 'forward' is supported in ExtremeWare 6.0."
                DEFVAL { forward }
    ::= { extremeQosRuleEntry 3 }

        extremeQosRuleInPort  OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The ifIndex value of the physical switch input port for which 
                this rule applies. Rules that indicate an individual value
                for this object have a lower precedence in ExtremeWare than
                rules that specify IP patterns. Conversely, rules that use IP
                patterns must apply to all physical ports and specify a value
                of 0 for this object.

                Any attempt to write a rule that indicates an individual
                value for this object together with non-default values for any 
                of { extremeQosRuleDestAddrStart, extremeQosRuleDestAddrEnd,
                extremeQosRuleSrcAddrStart, extremeQosRuleSrcAddrEnd,
                extremeQosRuleProtocol, extremeQosRuleDestL4PortStart,
                extremeQosRuleDestL4PortEnd, extremeQosRuleSourceL4PortStart,
                extremeQosRuleSourceL4PortEnd and extremeQosRuleInPortMask }
                will be rejected by the agent."
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 4 }

        extremeQosRuleInPortMask  OBJECT-TYPE
        SYNTAX          PortList
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The list of physical switch input ports which further
            qualifies an IP flow. This object is an octet string
            with the MSB of octet 0 indicating port 0 and LSB indicating
        port 7. Similarly, the MSB of octet 1 indicates port 8 and it's 
        LSB indicates port 15 and so on. The port numbers are 0-based.
        This object has no meaning for rules defined on physical ports
        that are not associated with an IP flow. Port based rules can be 
        defined by assigning a non zero value to extremeQosRuleInPort. Any
        attempt to set this value without specifying the source/destination 
        address range and/or source/destination l4 port range will be rejected
                by the agent. For IP flows that apply to all physical ports
                in the switch, this will be a zero length octet string."
    ::= { extremeQosRuleEntry 5 }

        extremeQosRuleDestAddrStart  OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The start of the destination IP address range for which this
                 rule applies.If this object has any value other than the
                 default then this rule takes precedence over any rule that
                 specifies an individual physical input port, a VLAN or any
                 incoming implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { '00000000'h }      -- 0.0.0.0
    ::= { extremeQosRuleEntry 6 }

        extremeQosRuleDestAddrEnd  OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The end of the destination IP address range for which this
                 rule applies. If this object has any value other than the
                 default then this rule takes precedence over any rule that
                 specifies an individual physical input port, a VLAN or any
                 incoming implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { 'ffffffff'h }      -- 255.255.255.255
    ::= { extremeQosRuleEntry 7 }

        extremeQosRuleSrcAddrStart  OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The start of the source IP address range for which this rule 
                applies. If this object has any value other than the default
                then this rule takes precedence over any rule that specifies
                an individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { '00000000'h }      -- 0.0.0.0
    ::= { extremeQosRuleEntry 8 }

        extremeQosRuleSrcAddrEnd  OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The end of the source IP address range for which this rule 
                applies. If this object has any value other than the default
                then this rule takes precedence over any rule that specifies
                an individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { 'ffffffff'h }      -- 255.255.255.255
    ::= { extremeQosRuleEntry 9 }

        extremeQosRuleProtocol  OBJECT-TYPE
        SYNTAX          INTEGER { any(1), udp(2), tcp(3), other(4), 
                      tcpPermitEstablished(5), icmp(6) }
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The IP protocol number for which this rule applies. If this 
                object has any value other than 'any' then this rule
                takes precedence over any rule that specifies an individual
                physical input port, a VLAN or any incoming implicit 802.1p
                traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { any }
    ::= { extremeQosRuleEntry 10 }

        extremeQosRuleDestL4PortStart  OBJECT-TYPE
        SYNTAX          L4Port
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The destination starting layer 4 port number that would
                be used to match an IP flow. The value of 0 means that all
                layer 4 information would be ignored when matching an IP
                flow. If this object has any value other than 0 then this
                rule takes precedence over any rule that specifies an
                individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

        Any attempt to write an ICMP rule specifying an IP pattern
        with a non-default value for this object will be rejected by the
        agent."
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 11 }

        extremeQosRuleSourceL4PortStart  OBJECT-TYPE
        SYNTAX          L4Port
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The source starting layer 4 port number that would be
                used to match an IP flow. The value of 0 means that all
                layer 4 information would be ignored when matching an IP
                flow. If this object has any value other than 0 then this
                rule takes precedence over any rule that specifies an
                individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

        NOTE: For an ICMP rule that specifies an IP pattern, this 
        object has a different meaning in that it specifies the ICMP Type
        and Code values, in the following manner: The value of the Type must
        be shifted to the left by 8 bits and logical ORed with the value of the 
        Code. The result will be stored in this object. In this case, this 
        object can only contain values between 0 and 65535 inclusive since the 
        ICMP Type and Code values are limited between 0 and 255 each."

                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 12 }

        extremeQosRuleTosMask  OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (1))
        MAX-ACCESS     read-create
        STATUS          deprecated
        DESCRIPTION
        "A mask for the incoming IP Type-of-Service field to be applied
                when matching. The value of 0 means that any incoming IP ToS
                field is ignored.

                Only the default value is supported in ExtremeWare 6.0."
                DEFVAL { '00'h }
    ::= { extremeQosRuleEntry 13 }

        extremeQosRuleTosMatch  OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (1))
        MAX-ACCESS     read-create
        STATUS          deprecated
        DESCRIPTION
        "If the value of the incoming IP Type-of-Service field, after 
                applying a mask of extremeQosRuleTosMask, is this value then
                this rule is applied. 

                Only the default value is supported in ExtremeWare 6.0."
                DEFVAL { '00'h }
    ::= { extremeQosRuleEntry 14 }

        extremeQosRuleQosProfileIndex  OBJECT-TYPE
        SYNTAX          INTEGER 
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "A pointer into the extremeQosProfileTable indicating the 
                QoS treatment and actions to be applied to traffic matching
                this rule. A value of 0 means that this traffic will be
                dropped/discarded. The default value is that this traffic
                gets the default QoS treatment and actions."
                DEFVAL { 1 }
    ::= { extremeQosRuleEntry 15 }

        extremeQosRuleOwner  OBJECT-TYPE
        SYNTAX          OwnerString(SIZE (0..32))
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
                    "Indicates the identity of the manager that 
            configured this entry."
    ::= { extremeQosRuleEntry 16 }

        extremeQosRuleRowStatus  OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
          "The row status for this QoS rule. 

          This OBJECT can be set to:

                active(1)
                createAndGo(4)
                createAndWait(5)
                destroy(6)

          The following values may be read:
                active(1)
                notReady(3). "
     ::= { extremeQosRuleEntry 17 }

        extremeQosRuleDestL4PortEnd  OBJECT-TYPE
        SYNTAX          L4Port
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The destination last layer 4 port number that would
                determine the l4 port range to match an IP flow. The value
                of 0 means that all layer 4 information would be ignored
                when matching an IP flow. If this object has any value other
                than 0 then this rule takes precedence over any rule that
                specifies an individual physical input port, a VLAN or any
                incoming implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

        Any attempt to write an ICMP rule specifying an IP pattern
        with a non-default value for this object will be rejected by the
        agent." 
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 18 }

        extremeQosRuleSourceL4PortEnd  OBJECT-TYPE
        SYNTAX          L4Port
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The source last layer 4 port number that would determine
                the l4 port range to match an IP flow. The value of 0 means
                that all layer 4 information would be ignored when matching
                an IP flow. If this object has any value other than 0 then
                this rule takes precedence over any rule that specifies an
                individual physical input port, a VLAN or any incoming
                implicit 802.1p traffic class rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent.

        Any attempt to write an ICMP rule specifying an IP pattern with
        a non-default value for this object will be rejected by the agent."
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 19 }

        extremeQosRulePrecedence  OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS     read-create
        STATUS          current
        DESCRIPTION
        "The precedence used to select one rule over potentially 
                multiple rules that might match an L3/L4 flow. The rule
        with highest precedence  takes precedence over any rule
        that specifies a matching flow, individual physical input
        port, a VLAN or any incoming implicit 802.1p traffic class
        rule.

                Any attempt to write a rule that indicates a non-default value
                for this object together with an individual port value for
                extremeQosRuleInPort will be rejected by the agent."
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 20 }

        extremeQosRuleCounter  OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS     read-only
        STATUS          current
        DESCRIPTION
        " " 
                DEFVAL { 0 }
    ::= { extremeQosRuleEntry 21 }

    extremeQosRuleName OBJECT-TYPE
        SYNTAX         DisplayString (SIZE (0..32))
                MAX-ACCESS     read-create
                STATUS        current
                DESCRIPTION
                "A unique Qos rule name. If this is not specified then the system 
        generates one automatically."
        ::= { extremeQosRuleEntry 22 }

-- ================================================================================
-- Treatment/Action/QoSProfile
-- ================================================================================
-- 
-- Several parameters are accessible, to a greater or lesser extent, for 
-- specifying the treatment received by traffic that is classified as matching
-- a static rule.
-- 
-- The following can be thought of as represented by a "per-hop behaviour" in 
-- IETF DiffServ terminology or by a "QoS Profile" in Extreme terminology:
--      - relative priority
--      - minimum guaranteed bandwidth
--      - maximum limit on bandwidth
--      - limit on peak bandwidth
--      - reserved buffer allocation
--      - maximum limit on buffer allocation
--      - filter/drop
-- 
-- In addition, the following actions can also be thought of as a part of the
-- treatment:
--      - trap to policy server
--      - outgoing IP TOS/mark/mask
--      - outgoing 802.1p mark
-- 
-- A set of parameters specify the scheduling characteristics of per-class 
-- queues and the marking of traffic that exits those queues. The term
-- "flowspec" is used loosely here although it has many of the characteristics
-- of an IntServ flowspec.
-- 
-- <treatment> ::= drop | <qos_profile>
--
-- <qos_profile> ::= <flowspec>, <action>
-- 
-- <flowspec> ::= <tokenBucket> | <absoluteBw> | <percentBw>, <buffers>, <priority>
-- <tokenBucket> ::= peakBW, sustBW, bucketSize
-- <absoluteBW> ::= minBW, maxPeakBW, maxSustBW
-- <percentBW> ::= minBWpercent, maxSustBWpercent, maxPeakBWpercent
-- <buffers> ::= maxQueueLength, minBufferAlloc
-- <priority> ::= relativePriority
-- 
-- <action> ::= <trap_to_server>, <mark_iptos>, <mark_8021p>
-- <trap_to_server> ::= TRUE | FALSE
-- <mark_iptos> ::= new_set_pattern, new_clear_pattern
-- <mark_8021p> ::= INTEGER 0..7 | unchanged
-- 
-- On any device using first-generation silicon, additional 
-- parameters are hard coded:
-- 
-- mark_iptos = 0,0   (i.e. IPTOS unchanged)
-- 
-- Note: for the ExtremeWare 4.0 release, some of the parameters are not 
-- exposed for modification through this interface: these are represented as
-- read-only - 6.0 behaviour is currently undefined. 
--
-- In particular, hard-coded values for the following are used in 4.0:
--    maxPeakBWpercent ::= line rate or 100%
--    maxQueueLength ::= infinite or something approaching total buffers in
--                       the device
--    minBufferAlloc ::= fixed at compile time <insert EW4.0 defaults>
--    mark_8021p ::= for packets entering untagged: 0, 2, 4 or 6 depending on
--                   queue number for packets entering tagged: unchanged.
--
-- 
-- Existing table:
--
-- extremeQosProfileTable INDEX { extremeQosProfileIndex} SEQUENCE OF
-- {
--      extremeQosProfileIndex            INTEGER ,
--      extremeQosProfileName            DisplayString,
--    extremeQosProfileMinBw            INTEGER (0..100),
--    extremeQosProfileMaxBw        INTEGER (0..100),
--    extremeQosProfilePriority    INTEGER {low, normal, medium, high}
--    extremeQosProfileRowStatus    RowStatus
-- }
--
-- Added the following "flowspec" columns to extremeQosProfileTable:
--
--        extremeQosProfileMinBwBps             INTEGER,
--        extremeQosProfileMaxSustBwBps         INTEGER,
--        extremeQosProfileMaxPeakBwBps         INTEGER,
--        extremeQosProfileBucketSizeOctets     INTEGER,
--        extremeQosProfileMaxPeakBwPercent     INTEGER (0..100),
--        extremeQosProfileMaxQueueLengthOctets INTEGER,
--        extremeQosProfileMinBufferAllocOctets INTEGER
--
-- Added the following "action" columns to extremeQosProfileTable:
-- 
--        extremeTrapToServer     TruthValue,     - send trap to policy server
--        extremeMarkIpTosSet     OCTET STRING (SIZE (1)),
--        extremeMarkIpTosClear   OCTET STRING (SIZE (1)),
--        extremeMark8021p        INTEGER (0..7) or unchanged(8)  - see above



-- ===========================================================================
--        Capabilities
-- ===========================================================================

        extremeQosCapabilitiesTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF ExtremeQosCapabilitiesEntry
        MAX-ACCESS  not-accessible
        STATUS  current
                DESCRIPTION
                "Table of per-port QoS policy capabilities. An entry only
                 exists in this table for ifTable entries representing
                 physical ports. On a modular system with mixed capability
                 silicon it is necessary to indicate the QoS capabilities to
                 a manager."
    ::= { extremeQosPolicy 3 }

        extremeQosCapabilitiesEntry OBJECT-TYPE
        SYNTAX  ExtremeQosCapabilitiesEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Entry in table of QoS policy capabilities for a given switch
                 port."
                AUGMENTS { ifEntry }
    ::= { extremeQosCapabilitiesTable 1 }

        ExtremeQosCapabilitiesEntry ::= SEQUENCE
        {
                extremeQosCapMarkIpTosCapable         TruthValue,
                extremeQosCapMatchIpTosCapable        TruthValue
        }

        extremeQosCapMarkIpTosCapable  OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS     read-only
        STATUS          current
        DESCRIPTION
        "This port is capable of supporting policies that involve
                the changing of IP TOS octet values."
    ::= { extremeQosCapabilitiesEntry 1 }

        extremeQosCapMatchIpTosCapable  OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS     read-only
        STATUS          current
        DESCRIPTION
        "This port is capable of supporting policies that involve
                packet classification based on matching of IP TOS octet 
                values."
    ::= { extremeQosCapabilitiesEntry 2 }

END

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

EXTREME-POS-MIB DEFINITIONS ::= BEGIN

     IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                Unsigned32    FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        DisplayString   FROM RFC1213-MIB
        IpAddress    FROM SNMPv2-SMI
                extremeAgent    FROM EXTREME-BASE-MIB
        PortList    FROM EXTREME-BASE-MIB;

        extremePOSMib MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme POS objects: objects common to POS MIBs"
        ::= { extremeAgent 20 }


    extremeAps OBJECT IDENTIFIER
        ::= { extremePOSMib 1 }

        extremeApsConfig OBJECT IDENTIFIER
        ::= { extremeAps 1 }

        extremeApsConfigEnabled                         OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "Global APS enablement"
        ::= { extremeApsConfig 1  }

--
-- APS Group Configuration Table
--

        extremeApsGroupConfigTable                      OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsGroupConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         by defined APS group."
                ::= { extremeApsConfig 2 }

        extremeApsGroupConfigEntry                      OBJECT-TYPE
                SYNTAX  ExtremeApsGroupConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsGroupConfigGroupNumber}
                ::= {extremeApsGroupConfigTable 1}

        ExtremeApsGroupConfigEntry ::= SEQUENCE {
                extremeApsGroupConfigGroupNumber        INTEGER (1..65535),
                extremeApsGroupConfigRevertMode         INTEGER,
                extremeApsGroupConfigRevertMinutes      INTEGER (0..12),
                extremeApsGroupConfigDirection          INTEGER,
                extremeApsGroupConfigTimerInterval      INTEGER,
                extremeApsGroupConfigTimerMisses        INTEGER,
                extremeApsGroupConfigAuthenticate       TruthValue,
                extremeApsGroupConfigAuthString         DisplayString
        }

        extremeApsGroupConfigGroupNumber                OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsGroupConfigEntry 1 }

        extremeApsGroupConfigRevertMode                 OBJECT-TYPE
                SYNTAX  INTEGER {
                                revertive (1),
                                nonRevertive (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The revertive mode configured for the APS
                         group.  This indicates whether APS will
                         switch-back automatically after the working
                         line error is cleared.  In non-revertive
                         mode, manual intervention is required for
                         switch-back."
                ::= { extremeApsGroupConfigEntry 2 }

        extremeApsGroupConfigRevertMinutes              OBJECT-TYPE
                SYNTAX  INTEGER (0..12)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of minutes APS will wait after
                         the error has been cleared before switching
                         back to the working line.  During this
                         interval, the K1 request will indicate
                         WTR (wait-to-restore).  This field is only
                         valid in revertive mode."
                ::= { extremeApsGroupConfigEntry 3 }

        extremeApsGroupConfigDirection                  OBJECT-TYPE
                SYNTAX  INTEGER {
                                bidirectional (1),
                                unidirectional (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The directional mode configured for the
                         APS group.  This indicates whether protection
                         switches are coordinated between both POS
                         equipment and ADM (bidirectional) or not
                         (unidirectional)."
                ::= { extremeApsGroupConfigEntry 4 }

        extremeApsGroupConfigTimerInterval              OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of seconds between APS out-of-band
                         peer protocol hello messages.  This value is
                         relevant when the working line and protection
                         line exist is physically different chassis."
                ::= { extremeApsGroupConfigEntry 5 }

        extremeApsGroupConfigTimerMisses                OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of APS out-of-band peer protocol
                         messages transmitted without receiving a
                         response before the protection switch declares
                         the working switch inoperable.  When this occurs
                         the protection switch initiates a line switch
                         over via APS."
                ::= { extremeApsGroupConfigEntry 6 }

        extremeApsGroupConfigAuthenticate               OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "When enabled, the authentication string on both
                         working and protection switches must match."
                ::= { extremeApsGroupConfigEntry 7 }

        extremeApsGroupConfigAuthString                 OBJECT-TYPE
                SYNTAX  DisplayString (SIZE(0..8))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "If configured, this is the authentication string
                         that must match between working and protection
                         switches.  This field is relevant if the APS group
                         is configured to authenticate."
                ::= { extremeApsGroupConfigEntry 8 }

--
-- APS Port Configuration Table
--

        extremeApsPortConfigTable                       OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsPortConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for APS ports."
                ::= { extremeApsConfig 3 }

        extremeApsPortConfigEntry                       OBJECT-TYPE
                SYNTAX  ExtremeApsPortConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsPortConfigGroupNumber,
                       extremeApsPortConfigPortNumber}
                ::= {extremeApsPortConfigTable 1}

        ExtremeApsPortConfigEntry ::= SEQUENCE {
                extremeApsPortConfigGroupNumber         INTEGER (1..65535),
                extremeApsPortConfigPortNumber          INTEGER,
                extremeApsPortConfigPortType            INTEGER
        }

        extremeApsPortConfigGroupNumber                 OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsPortConfigEntry 1 }

        extremeApsPortConfigPortNumber                  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The value of ifIndex that identifies the port."
                ::= { extremeApsPortConfigEntry 2 }

        extremeApsPortConfigPortType                    OBJECT-TYPE
                SYNTAX  INTEGER {
                                working (1),
                                protection (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The port type designation."
                ::= { extremeApsPortConfigEntry 3 }

--
-- APS Protection Port Additional Configuration Table
--

        extremeApsProtectPortConfigTable                OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsProtectPortConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for APS protection ports."
                ::= { extremeApsConfig 4 }

        extremeApsProtectPortConfigEntry                OBJECT-TYPE
                SYNTAX  ExtremeApsProtectPortConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsProtectPortConfigGroupNumber,
                       extremeApsProtectPortConfigPortNumber}
                ::= {extremeApsProtectPortConfigTable 1}

        ExtremeApsProtectPortConfigEntry ::= SEQUENCE {
                extremeApsProtectPortConfigGroupNumber   INTEGER (1..65535),
                extremeApsProtectPortConfigPortNumber    INTEGER,
                extremeApsProtectPortConfigWorkingIpAddr IpAddress
        }

        extremeApsProtectPortConfigGroupNumber          OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsProtectPortConfigEntry 1 }

        extremeApsProtectPortConfigPortNumber           OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The value of ifIndex that identifies
                         the protection port."
                ::= { extremeApsProtectPortConfigEntry 2 }

        extremeApsProtectPortConfigWorkingIpAddr        OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The IP address of the working switch.  If the
                         working and protection lines reside on the same
                         chassis, this IP address will be a local address."
                ::= { extremeApsProtectPortConfigEntry 3 }

        extremeApsStatus OBJECT IDENTIFIER
        ::= { extremeAps 2 }

--
-- APS Group Status Table
--
        extremeApsGroupTable                            OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsGroupEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains run-time information
                         by defined APS group."
                ::= { extremeApsStatus 1 }

        extremeApsGroupEntry                            OBJECT-TYPE
                SYNTAX  ExtremeApsGroupEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsGroupGroupNumber}
                ::= {extremeApsGroupTable 1}

        ExtremeApsGroupEntry ::= SEQUENCE {
                extremeApsGroupGroupNumber              INTEGER (1..65535),
                extremeApsGroupActivePort               INTEGER,
                extremeApsGroupEffectiveDirection       INTEGER,
                extremeApsGroupPeerProtoStatus          INTEGER
        }

        extremeApsGroupGroupNumber                      OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsGroupEntry 1 }

        extremeApsGroupActivePort                       OBJECT-TYPE
                SYNTAX  INTEGER {
                                working (1),
                                protection (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The APS port which is currently carrying the
                         network traffic."
                ::= { extremeApsGroupEntry 2 }

        extremeApsGroupEffectiveDirection               OBJECT-TYPE
                SYNTAX  INTEGER {
                                bidirectional (1),
                                unidirectional (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The effective directional mode for the APS
                         group.  When this value differs from the
                         configured directional mode, check the
                         ADM and switch provisioning for a mis-
                         configuration."
                ::= { extremeApsGroupEntry 3 }

        extremeApsGroupPeerProtoStatus                  OBJECT-TYPE
                SYNTAX  INTEGER {
                                established (1),
                                closed (2)
                                }
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The APS out-of-band peer protocol status
                         for a group."
                ::= { extremeApsGroupEntry 4 }

--
-- APS Protection Port Table
--

        extremeApsProtectPortTable                      OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsProtectPortEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains run-time information
                         by defined APS protection port."
                ::= { extremeApsStatus 2 }

        extremeApsProtectPortEntry                      OBJECT-TYPE
                SYNTAX  ExtremeApsProtectPortEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsProtectPortGroupNumber,
                       extremeApsProtectPortPortNumber}
                ::= {extremeApsProtectPortTable 1}

        ExtremeApsProtectPortEntry ::= SEQUENCE {
                extremeApsProtectPortGroupNumber         INTEGER (1..65535),
                extremeApsProtectPortPortNumber          INTEGER,
                extremeApsProtectPortTransmitK1          OCTET STRING,
                extremeApsProtectPortTransmitK2          OCTET STRING,
                extremeApsProtectPortReceiveK1           OCTET STRING,
                extremeApsProtectPortReceiveK2           OCTET STRING,
                extremeApsProtectPortSwitchInitByWorking INTEGER,
                extremeApsProtectPortSwitchInitByProtect INTEGER,
                extremeApsProtectPortSwitchInitByADM     INTEGER,
                extremeApsProtectPortSwitchInitByCmd     INTEGER,
                extremeApsProtectPortSuccessfulSwitches  INTEGER,
                extremeApsProtectPortHelloProtFails      INTEGER

        }

        extremeApsProtectPortGroupNumber                OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies
                         the APS group."
                ::= { extremeApsProtectPortEntry 1 }

        extremeApsProtectPortPortNumber                 OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The value of ifIndex that identifies
                          the protection port."
                ::= { extremeApsProtectPortEntry 2 }

        extremeApsProtectPortTransmitK1                 OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(1))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The K1 overhead byte currently being transmitted
                          on the indicated protection port."
                ::= { extremeApsProtectPortEntry 3 }

        extremeApsProtectPortTransmitK2                 OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(1))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The K2 overhead byte currently being transmitted
                          on the indicated protection port."
                ::= { extremeApsProtectPortEntry 4 }

        extremeApsProtectPortReceiveK1                  OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(1))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The K1 overhead byte currently being received
                          on the indicated protection port."
                ::= { extremeApsProtectPortEntry 5 }

        extremeApsProtectPortReceiveK2                  OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(1))
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The K2 overhead byte currently being received
                          on the indicated protection port."
                ::= { extremeApsProtectPortEntry 6 }

        extremeApsProtectPortSwitchInitByWorking        OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of switches that have been
                          initiated by the working-line router."
                ::= { extremeApsProtectPortEntry 7 }

        extremeApsProtectPortSwitchInitByProtect        OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of switches that have been
                          initiated by the protection-line router."
                ::= { extremeApsProtectPortEntry 8 }

        extremeApsProtectPortSwitchInitByADM            OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of switches that have been
                          initiated by the ADM."
                ::= { extremeApsProtectPortEntry 9 }
        extremeApsProtectPortSwitchInitByCmd            OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of switches that have been
                          initiated by an external CLI command."
                ::= { extremeApsProtectPortEntry 10 }
        extremeApsProtectPortSuccessfulSwitches         OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of successful APS line switches."
                ::= { extremeApsProtectPortEntry 11 }
        extremeApsProtectPortHelloProtFails             OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                         "The number of APS out-of-band peer protocol
                          failures recorded.  This situation causes
                          the protection-line router to initiate a
                          line switch."
                ::= { extremeApsProtectPortEntry 12 }

        extremeApsErrors OBJECT IDENTIFIER
        ::= { extremeAps 3 }

--
-- APS Line Errors Table
--

        extremeApsLineErrorTable                        OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsLineErrorEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains APS line error
                         information."
                ::= { extremeApsErrors 1 }

        extremeApsLineErrorEntry                        OBJECT-TYPE
                SYNTAX  ExtremeApsLineErrorEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsLineErrorGroupNumber,
                       extremeApsLineErrorPortNumber}
                ::= {extremeApsLineErrorTable 1}

        ExtremeApsLineErrorEntry ::= SEQUENCE {
                extremeApsLineErrorGroupNumber            INTEGER (1..65535),
                extremeApsLineErrorPortNumber             INTEGER,
                extremeApsLineErrorSignalDegradeActive    TruthValue,
                extremeApsLineErrorBERSignalDegradeActive TruthValue,
                extremeApsLineErrorSignalFailActive       TruthValue,
                extremeApsLineErrorBERSignalFailActive    TruthValue,
                extremeApsLineErrorSignalDegrades         INTEGER,
                extremeApsLineErrorBERSignalDegrades      INTEGER,
                extremeApsLineErrorSignalFails            INTEGER,
                extremeApsLineErrorBERSignalFails         INTEGER
        }

        extremeApsLineErrorGroupNumber                  OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies the
                         APS group."
                ::= { extremeApsLineErrorEntry 1 }

        extremeApsLineErrorPortNumber                   OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The ifIndex value which identifies the APS port."
                ::= { extremeApsLineErrorEntry 2 }

        extremeApsLineErrorSignalDegradeActive          OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a signal degrade condition
                         currently exists on the line."
                ::= { extremeApsLineErrorEntry 3 }

        extremeApsLineErrorBERSignalDegradeActive       OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a signal degrade condition
                         due to excessive Bit-Error-Rate currently exists
                         on the line."
                ::= { extremeApsLineErrorEntry 4 }

        extremeApsLineErrorSignalFailActive             OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a signal fail condition
                         currently exists on the line."
                ::= { extremeApsLineErrorEntry 5 }

        extremeApsLineErrorBERSignalFailActive          OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a signal fail condition
                         due to excessive Bit-Error-Rate currently
                         exists on the line."
                ::= { extremeApsLineErrorEntry 6 }

        extremeApsLineErrorSignalDegrades               OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of signal degrades that have
                         been recorded on the line."
                ::= { extremeApsLineErrorEntry 7 }

        extremeApsLineErrorBERSignalDegrades            OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of signal degrades due to excessive
                         Bit-Error-Rate that have been recorded on the
                         line."
                ::= { extremeApsLineErrorEntry 8 }

        extremeApsLineErrorSignalFails                  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of signal fails that have
                         been recorded on the line."
                ::= { extremeApsLineErrorEntry 9 }

        extremeApsLineErrorBERSignalFails               OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of signal fails due to excessive
                         Bit-Error-Rate that have been recorded on the
                         line."
                ::= { extremeApsLineErrorEntry 10 }

--
-- APS Protocol Errors Table
--

        extremeApsProtocolErrorTable                    OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeApsProtocolErrorEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains APS protocol error
                         information.  These errors are relevant
                         for APS protection ports."
                ::= { extremeApsErrors 2 }

        extremeApsProtocolErrorEntry                    OBJECT-TYPE
                SYNTAX  ExtremeApsProtocolErrorEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeApsProtocolErrorGroupNumber,
                       extremeApsProtocolErrorPortNumber}
                ::= {extremeApsProtocolErrorTable 1}

        ExtremeApsProtocolErrorEntry ::= SEQUENCE {
                extremeApsProtocolErrorGroupNumber             INTEGER (1..65535),
                extremeApsProtocolErrorPortNumber              INTEGER,
                extremeApsProtocolErrorModeMismatchDefect      TruthValue,
                extremeApsProtocolErrorProtSwitchByteDefect    TruthValue,
                extremeApsProtocolErrorChannelMismatchDefect   TruthValue,
                extremeApsProtocolErrorFarEndProtectDefect     TruthValue,
                extremeApsProtocolErrorModeMismatchFailure     TruthValue,
                extremeApsProtocolErrorProtSwitchByteFailure   TruthValue,
                extremeApsProtocolErrorChannelMismatchFailure  TruthValue,
                extremeApsProtocolErrorFarEndProtectFailure    TruthValue,
                extremeApsProtocolErrorModeMismatchNumFails    INTEGER,
                extremeApsProtocolErrorProtSwitchByteNumFails  INTEGER,
                extremeApsProtocolErrorChannelMismatchNumFails INTEGER,
                extremeApsProtocolErrorFarEndProtectNumFails   INTEGER
        }

        extremeApsProtocolErrorGroupNumber              OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The group number which uniquely identifies the
                         APS group."
                ::= { extremeApsProtocolErrorEntry 1 }

        extremeApsProtocolErrorPortNumber               OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The ifIndex value which identifies the APS
                         protection port."
                ::= { extremeApsProtocolErrorEntry 2 }

        extremeApsProtocolErrorModeMismatchDefect       OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Mode Mismatch defect currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 3 }

        extremeApsProtocolErrorProtSwitchByteDefect     OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Protection Switching Byte defect
                         currently exists on the port."
                ::= { extremeApsProtocolErrorEntry 4 }

        extremeApsProtocolErrorChannelMismatchDefect    OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Channel Mismatch defect currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 5 }

        extremeApsProtocolErrorFarEndProtectDefect      OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Far-End Protection defect currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 6 }

        extremeApsProtocolErrorModeMismatchFailure      OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Mode Mismatch failure currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 7 }

        extremeApsProtocolErrorProtSwitchByteFailure    OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Protection Switching Byte failure
                         currently exists on the port."
                ::= { extremeApsProtocolErrorEntry 8 }

        extremeApsProtocolErrorChannelMismatchFailure   OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Channel Mismatch failure currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 9 }

        extremeApsProtocolErrorFarEndProtectFailure     OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "Indicates whether a Far-End Protection failure currently
                         exists on the port."
                ::= { extremeApsProtocolErrorEntry 10 }

        extremeApsProtocolErrorModeMismatchNumFails     OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of Mode Mismatch failures that have
                         been recorded."
                ::= { extremeApsProtocolErrorEntry 11 }

        extremeApsProtocolErrorProtSwitchByteNumFails   OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of Protection Switching Byte failures
                         that have been recorded."
                ::= { extremeApsProtocolErrorEntry 12 }

        extremeApsProtocolErrorChannelMismatchNumFails  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of Channel Mismatch failures that have
                         been recorded."
                ::= { extremeApsProtocolErrorEntry 13 }

        extremeApsProtocolErrorFarEndProtectNumFails    OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of Far-End Protection failures that have
                         been recorded."
                ::= { extremeApsProtocolErrorEntry 14 }

END

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

EXTREME-QOS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        DisplayString   FROM RFC1213-MIB
        RowStatus       FROM SNMPv2-TC
        ifIndex                 FROM RFC1213-MIB
        extremeVlanIfIndex    FROM EXTREME-VLAN-MIB
                extremeAgent            FROM EXTREME-BASE-MIB;

        extremeQos MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Quality-of-Service objects"
        ::= { extremeAgent 3 }

    extremeQosCommon    OBJECT IDENTIFIER ::= { extremeQos 1 }


    extremeUnitPaceMode OBJECT-TYPE
                   SYNTAX  INTEGER {
                        notApplicable(1),
                        normalEthernet(2),
                        lowLatency(3)
        }
                MAX-ACCESS    read-write
                STATUS deprecated
                DESCRIPTION
                "This object specifies whether the device currently
                recognises and gives priority treatment to the 
                forwarding of packets with the PACE(tm) bit set in 
                their MAC Source Address fields.
                
                PACE(tm) mode applies to the whole unit only and
                is only valid when device is in Ingress QoS mode
                as specified by extremeQosMode ingress(1). This
                object will report notApplicable(1) when in 
                egress(2) mode. Set operations with value
                notApplicable(1) will be rejected."
    ::= { extremeQosCommon 1 }                

--
-- Select QoS Mode
--
    extremeQosMode OBJECT-TYPE
        SYNTAX  INTEGER { ingress(1), egress(2) }
        MAX-ACCESS  read-write
        STATUS deprecated
        DESCRIPTION
                      "Indicates which QoS mode the device should
                       use. ingress(1) applies priority-based QoS based 
                       on the incoming packet's destination IP or MAC
                       address, 802.1p priority, PACE(tm), Source Port or
                       VLAN. egress(2) applies priority- and bandwidth-based
                       QoS based on destination IP or MAC address or VLAN.
                       See ExtremeWare documentation for further information."
    ::= { extremeQosCommon 4 }

--
-- Reset all QoS settings to defaults
--
    extremeQosUnconfigure OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS deprecated
        DESCRIPTION
                      "Setting this to true will reset all QoS settings
                        in the device to factory defaults. Reads from this
                        value return an undefined value."
    ::= { extremeQosCommon 5 }


--
-- QoS Profile table
--

    extremeQosProfileTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeQosProfileEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists QoS profiles."
        ::= { extremeQosCommon 6 }

    extremeQosProfileEntry    OBJECT-TYPE
        SYNTAX    ExtremeQosProfileEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual QoS profile Entry."
        INDEX {extremeQosProfileIndex}
        ::= {extremeQosProfileTable 1}

    ExtremeQosProfileEntry ::= SEQUENCE {
                extremeQosProfileIndex          INTEGER,
                extremeQosProfileName           DisplayString,
                extremeQosProfileMinBw          INTEGER,
                extremeQosProfileMaxBw          INTEGER,
                extremeQosProfilePriority       INTEGER,
                extremeQosProfileRowStatus      RowStatus
        }

        extremeQosProfileIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS    read-create
                STATUS    current
                DESCRIPTION
                        "An index that uniquely identifies an entry in the
                        qos table."
                ::= { extremeQosProfileEntry 1}

        extremeQosProfileName OBJECT-TYPE
                SYNTAX    DisplayString (SIZE (0..127))
                MAX-ACCESS     read-create
                STATUS    current
                DESCRIPTION
                        "A unique qos profile name."
                ::= {extremeQosProfileEntry 2}

        extremeQosProfileMinBw  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The minumum percentage of bandwidth that this queue requires.
                 The Switch is required to provide the minumum amount of 
                 bandwidth to the queue. The lowest possible value is 0%."
                DEFVAL { 0 }
                ::= {extremeQosProfileEntry 3 }

                
        extremeQosProfileMaxBw    OBJECT-TYPE
                SYNTAX    INTEGER
            MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The maximum percentage of bandwidth that this queue is
                 permitted to use.

                 If a non-default value is set for this object then it negates
                 any previously set value of extremeQosProfileMaxSustBwBps. In 
                 In addition, a set operation that supplies non-default values
                 for both this object and for extremeQosProfileMaxSustBwBps
                 will be rejected by the agent. In other words, you may supply
                 either an absolute or a percent limit, not both."
                DEFVAL { 100 }
                ::= {extremeQosProfileEntry 4 }

        extremeQosProfilePriority OBJECT-TYPE
                SYNTAX  INTEGER {
                                low(1),
                                lowHi(2),
                                normal(3),
                                normalHi(4),
                                medium(5),
                                mediumHi(6),
                                high(7),
                                highHi(8)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The level of priority in which this queue will be
                        serviced by the Switch."
                ::= {extremeQosProfileEntry 5 }

        extremeQosProfileRowStatus OBJECT-TYPE
                SYNTAX    RowStatus
                MAX-ACCESS     read-create
                STATUS    current
                DESCRIPTION
                    "The status of the extremeQosProfile entry.
                    This object can be set to:
                                active(1)
                                createAndGo(4)
                                createAndWait(5)
                                destroy(6)

                    The following values may be read:
                                active(1)
                                notInService(2)
                                notReady(3).
                        
                    Setting this object to createAndGo(4) causes the agent
                    to attempt to create and commit the row based on 
                    the contents of the objects in the row.  If all necessary
                    information is present in the row and the values are
                    acceptible to the agent, the agent will change the 
                    status to active(1).  If any of the necessary objects  
                    are not available, the agent will reject the creation
                    request.        

                    Setting this object to createAndWait(5) causes a row
                    in this table to be created.  The agent sets the
                    status to notInService(2) if all of the information is
                    present in the row and the values are acceptable to the
                    agent; otherwise, the agent sets the status to notReady(3).

                    Setting this object to active(1) is only valid when
                    the current status is active(1) or notInService(2).  

                    When the state of the row transitions is set to active(1),
                    the agent creates the corresponding row in the ifTable..

                    Setting this object to destroy(6) will remove the
                    corresponding QoS Profile Entry.

                    In order for a set of this object to destroy(6) to succeed,
                    all dependencies on this row must have been removed.  These
                    will include any stacking dependencies in the ifStackTable
                    and any protocol specific tables dependencies."
        ::= { extremeQosProfileEntry 6 }

--
-- VLAN-based QoS Table
--
           extremeQosByVlanMappingTable    OBJECT-TYPE

        SYNTAX  SEQUENCE OF ExtremeQosByVlanMappingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
          "Table to associate a Vlan with the QoS profile that the
           Vlan is using. Every Vlan is assigned a Qos Profile and
           hence there is an entry in this table corresponding to every
           entry in the extremeVlanIfTable."
        ::= { extremeQosCommon 7 }

    extremeQosByVlanMappingEntry    OBJECT-TYPE
        SYNTAX    ExtremeQosByVlanMappingEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
                        "The QoS associated with a particular Vlan."
        INDEX {extremeVlanIfIndex}
        ::= {extremeQosByVlanMappingTable 1}

    ExtremeQosByVlanMappingEntry ::= SEQUENCE {
            extremeQosByVlanMappingQosProfileIndex    INTEGER
    }

    extremeQosByVlanMappingQosProfileIndex OBJECT-TYPE
        SYNTAX    INTEGER (1..65535)
        MAX-ACCESS    read-write
        STATUS    current
        DESCRIPTION
            "Value of extremeQosProfileIndex that uniquely 
                    identifies a QoS Profile entry in extremeQosProfileTable.
                    This indicates the QoS to be given to traffic for this
                    Vlan in the absence of any other more specific 
                    configuration information for this traffic."
    ::= { extremeQosByVlanMappingEntry 1 }

--
-- Per Port QOS Table
--
    extremePerPortQosTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremePerPortQosEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Global Qos Profiles are defined in the
                extremeQosProfileTable. This table contains a list
                    of ports for which the definition of certain global
            Qos Profiles has been overridden. The new definition
                    of the Qos profile parameters is in this table."
        ::= { extremeQosCommon 8 }

    extremePerPortQosEntry    OBJECT-TYPE
        SYNTAX    ExtremePerPortQosEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual overridden QoS profile Entry."
        INDEX {ifIndex, extremePerPortQosIndex}
        ::= {extremePerPortQosTable 1}

    ExtremePerPortQosEntry ::= SEQUENCE {
                extremePerPortQosIndex          INTEGER,
                extremePerPortQosMinBw          INTEGER,
                extremePerPortQosMaxBw          INTEGER,
                extremePerPortQosPriority       INTEGER,
                extremePerPortQosRowStatus      RowStatus
        }

        extremePerPortQosIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS    read-create
                STATUS    current
                DESCRIPTION
                        "The value of this variable is the same as the value
            of extremeQosProfileIndex of the Qos Profile which
            is overridden (for the port specified by ifIndex) by 
            the definition in this table."
                ::= { extremePerPortQosEntry 1}

        extremePerPortQosMinBw  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                   "The minumum percentage of bandwidth that this queue on the
           specified port requires. The Switch is required to provide 
           the minumum amount of bandwidth to the queue. The lowest 
           possible value is 0%."
                DEFVAL { 0 }
                ::= {extremePerPortQosEntry 2 }

                
        extremePerPortQosMaxBw    OBJECT-TYPE
                SYNTAX    INTEGER
            MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The maximum percentage of bandwidth that this queue on the
                 specified port is permitted to use."
                DEFVAL { 100 }
                ::= {extremePerPortQosEntry 3 }

        extremePerPortQosPriority OBJECT-TYPE
                SYNTAX  INTEGER {
                                low(1),
                                lowHi(2),
                                normal(3),
                                normalHi(4),
                                medium(5),
                                mediumHi(6),
                                high(7),
                                highHi(8)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The level of priority in which this queue will be
                 serviced by the Switch."
                ::= {extremePerPortQosEntry 4 }

        extremePerPortQosRowStatus OBJECT-TYPE
                SYNTAX    RowStatus
                MAX-ACCESS     read-create
                STATUS    current
                DESCRIPTION
                 "The status of the extremePerPortQos entry.
         This object can be set to 
                    active(1)
            createAndGo(4)
                 The following value may be read:
                    active(1)
         Note that a destroy(6) is not supported. A row will only be
         deleted from this table when the Qos Profile indicated
         in that row is changed globally."

        ::= { extremePerPortQosEntry 5 }

        
--
-- QoS Ingress Priority
--
	extremeQosIngressPriorityTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeQosIngressPriorityEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table lists QoS ingress priority settings."
		::= { extremeQosCommon 9 }

	extremeQosIngressPriorityEntry	OBJECT-TYPE
		SYNTAX	ExtremeQosIngressPriorityEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An individual QoS ingress priority Entry."
		INDEX {extremeQosIngressPriorityIndex}
		::= {extremeQosIngressPriorityTable 1}

	ExtremeQosIngressPriorityEntry ::= SEQUENCE {
                extremeQosIngressPriorityIndex          INTEGER,
                extremeQosIngressPriorityName           DisplayString,
                extremeQosIngressPriorityValue          INTEGER
        }

        extremeQosIngressPriorityIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS	read-only
                STATUS	current
                DESCRIPTION
                        "An index that uniquely identifies an entry in the
                        qos ingress priority table."
                ::= { extremeQosIngressPriorityEntry 1}

        extremeQosIngressPriorityName OBJECT-TYPE
                SYNTAX	DisplayString (SIZE (0..15))
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "A qos ingress priority name."
                ::= {extremeQosIngressPriorityEntry 2}
                
        extremeQosIngressPriorityValue OBJECT-TYPE
                SYNTAX  INTEGER (0..15)
                MAX-ACCESS	read-only
                STATUS	current
                DESCRIPTION
                        "The ingress Qos priority value."
                ::= { extremeQosIngressPriorityEntry 3}
                

--
-- IQoS Profile table
--

	extremeIQosProfileTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeIQosProfileEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"This table lists ingress QoS profiles."
		::= { extremeQosCommon 10 }

	extremeIQosProfileEntry	OBJECT-TYPE
		SYNTAX	ExtremeIQosProfileEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An individual ingress QoS profile Entry."
		INDEX {ifIndex ,
                       extremeIQosProfileIndex}
		::= {extremeIQosProfileTable 1}

	ExtremeIQosProfileEntry ::= SEQUENCE {
--                extremeIQosProfilePort           INTEGER,
                extremeIQosProfileIndex          INTEGER,
                extremeIQosProfileName           DisplayString,
                extremeIQosProfileMinBwType      INTEGER,
                extremeIQosProfileMinBw          INTEGER,
                extremeIQosProfileMaxBwType      INTEGER,
                extremeIQosProfileMaxBw          INTEGER,
                extremeIQosProfileRED            INTEGER,
                extremeIQosProfileMaxBuf         INTEGER
        }

--        extremeIQosProfilePort OBJECT-TYPE
--                SYNTAX  INTEGER (1..65535)
--                MAX-ACCESS	read-only
--                STATUS	current
--                DESCRIPTION
--                        "An index that uniquely identifies a specific port
--                        for an ingress qos table."
--                ::= { extremeIQosProfileEntry 1}

        extremeIQosProfileIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS	read-only
                STATUS	current
                DESCRIPTION
                        "An index that uniquely identifies an entry in the
                        ingress Qos table."
                ::= { extremeIQosProfileEntry 1}
                
        extremeIQosProfileName OBJECT-TYPE
                SYNTAX	DisplayString (SIZE (0..127))
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                        "A unique ingress Qos profile name."
                ::= {extremeIQosProfileEntry 2}
                
        extremeIQosProfileMinBwType  OBJECT-TYPE
                SYNTAX  INTEGER {
			percentage(1),
			kbps(2),
                        mbps(3)
		}
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The type of the current minimum bandwith setting. A value
                   of 1 signifies that the minimum bandwith value is a percentage
                   of the configurable port bandwidth. A value of 2 or 3 signifies
                   a guaranteed minimum available bandwidth in Kbps or Mbps
                   respectively."
                ::= {extremeIQosProfileEntry 3 }

        extremeIQosProfileMinBw  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The guaranteed minimum bandwidth for this queue, expressed as either
                 a percentage or a specific bandwidth value, as specified by the value
                 of extremeIQosProfileMinBwType."
                DEFVAL { 0 }
                ::= {extremeIQosProfileEntry 4 }
                
        extremeIQosProfileMaxBwType  OBJECT-TYPE
                SYNTAX  INTEGER {
			percentage(1),
			kbps(2),
                        mbps(3)
		}
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The type of the current maximum bandwith setting. A value
                   of 1 signifies that the maximum bandwith value is a percentage
                   of the configurable port bandwidth. A value of 2 or 3 signifies
                   a maximum allowed bandwidth in Kbps or Mbps respectively."
                ::= {extremeIQosProfileEntry 5 }
                
        extremeIQosProfileMaxBw	OBJECT-TYPE
                SYNTAX	INTEGER
        	MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The maximum allowed input bandwidth for this queue, expressed as 
                 either a percentage or a specific bandwidth value, as specified by 
                 the value of extremeIQosProfileMaxBwType."
                DEFVAL { 0 }
                ::= {extremeIQosProfileEntry 6 }

        extremeIQosProfileRED OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The Random Early Drop threshold. When the input queue fill
                        ratio exceeds this percentage, frames start to drop randomly
                        with a linear increasing drop probability as the queue fill
                        count approaches the max queue size. A value of 100 indicates
                        that this feature is currently disabled."
                ::= {extremeIQosProfileEntry 7 }

        extremeIQosProfileMaxBuf OBJECT-TYPE
                SYNTAX	INTEGER
                MAX-ACCESS 	read-only
                STATUS	current
                DESCRIPTION
                    "The percentage of the total ingress queue size to use. Lower values
                    can be used to reduce the max latency through this queue, but with
                    potentially greater loss with bursty traffic."
        ::= { extremeIQosProfileEntry 8 }
        

--
-- VLAN-based Ingress QoS Table
--
       	extremeIQosByVlanMappingTable	OBJECT-TYPE

		SYNTAX  SEQUENCE OF ExtremeIQosByVlanMappingEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		  "Table to associate a Vlan with the ingress QoS profile 
                  that the Vlan is using. Every Vlan is assigned a Qos Profile 
                  and hence there is an entry in this table corresponding to
                  every entry in the extremeVlanIfTable."
		::= { extremeQosCommon 11 }

	extremeIQosByVlanMappingEntry	OBJECT-TYPE
		SYNTAX	ExtremeIQosByVlanMappingEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
                        "The ingress QoS associated with a particular Vlan."
		INDEX {extremeVlanIfIndex}
		::= {extremeIQosByVlanMappingTable 1}

	ExtremeIQosByVlanMappingEntry ::= SEQUENCE {
        	extremeIQosByVlanMappingIQosProfileIndex	INTEGER
	}

	extremeIQosByVlanMappingIQosProfileIndex OBJECT-TYPE
		SYNTAX	INTEGER (1..65535)
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		    "Value of extremeIQosProfileIndex that uniquely 
                    identifies an ingress QoS Profile entry in extremeIQosProfileTable.
                    This indicates the QoS to be given to traffic for this
                    Vlan in the absence of any other more specific 
                    configuration information for this traffic."
	::= { extremeIQosByVlanMappingEntry 1 }



END

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

A3COM51-SS9000SX DEFINITIONS ::= BEGIN

-- 
-- 3Com - ss9000 Private MIB
-- 
-- Copyright (c) 1997 by 3Com
-- 
-- 
-- HISTORY LOG
-- ===========
-- 03/20/97  GWH - Created v0.1 - This MIB is under contruction
-- 				and is subject to change.
-- 05/16/97  GWH - Add PACE, trap destination & security tables.
-- 06/05/97  GWH - Move mib to brighton enterprise branch.  Remove
--                  unused objects.  Add 64 bit counters as 32 bit pairs.
-- 06/10/97  GWH - Move traps to superStackSwitch9000SX-mib id.  Remove unused
--                  objects.  Prefix all tables with ss9000 to avoid conflicts.
-- 06/11/97  GWH - Fix compilation errors.  Move traps to extreme identifier.
--                  Import sysDescr, sysUpTime.
-- 12/06/97  P.Biti - Fixed mismatching names and realigned tabs
-- 30/06/97  PB  - Taken out security portion as it did not contain
-- 		   an object for community string.  Improved descriptions
-- 10/07/97  PB  - issued. Changed integer to counter in ss9000PortTable
-- 	   	   changed Ss9000PortTable name to ss9000PortTable
-- 		   deleted trap destination table - switch now supporting
-- 		   table in rfc 2021.
-- 22/07/97  PB  -  Changed MIB definition title from superstackswitch9000sx to A3Com51. Taken 
--                           out spurious imports.  Changed ss9000PortIndex type to INTEGER.
-- 07/24/97  GWH - Add configuration save and check object
-- 06-aug-97 AHS - Add MAU-type definitions per e-mail from PB 06-aug-97
-- 20-aug-97 AHS - Add invalidLoginAttempt trap
--

     IMPORTS
	enterprises, Counter
     FROM RFC1155-SMI
	sysUpTime, sysDescr
     FROM RFC1213-MIB
	TRAP-TYPE
     FROM RFC-1215
	OBJECT-TYPE
     FROM RFC-1212;

-- 
--  Organization & Product branches
-- 
    extreme	    OBJECT IDENTIFIER ::= { enterprises 1916 }
    a3Com	    OBJECT IDENTIFIER ::= { enterprises 43 }
    products        OBJECT IDENTIFIER ::= { a3Com 1 }
    hub             OBJECT IDENTIFIER ::= { products 8 }

    superStackSwitch9000SX OBJECT IDENTIFIER ::=     { hub 32 }
    superStackSwitch3800 OBJECT IDENTIFIER ::=     { hub 34 }
	superStackSwitch9100 OBJECT IDENTIFIER ::=		{ hub 36 }
    superStackSwitch9000SX-mib OBJECT IDENTIFIER ::= { a3Com 27 }
   
-- 
-- Traps
-- 
          overheat TRAP-TYPE
              ENTERPRISE  extreme
              VARIABLES   { sysUpTime, sysDescr }
              DESCRIPTION
                          "A overheat trap indicates that the on board
                          tempature sensor has reported a overheat 
                          condition.  System will shutdown until unit has
						  suficiently cooled such that operation may begin
                          again.  A cold start trap will be issued when
                          the unit has come back on line."						                            
              ::= 1

          fanfailed TRAP-TYPE
              ENTERPRISE  extreme
              VARIABLES   { sysUpTime, sysDescr }
              DESCRIPTION
                          "A fan failed trap indicates one or more of the
                          cooling fans inside the device has failed.  A
                          fanOK trap will be sent once the fan has attained
                          normal operation."
              ::= 2

          fanOK TRAP-TYPE
              ENTERPRISE  extreme
              VARIABLES   { sysUpTime, sysDescr }
              DESCRIPTION
                          "A fan has tansitioned out of a failure state and
                          is now operating correctly."
              ::= 3

          invalidLoginAttempt TRAP-TYPE
              ENTERPRISE  extreme
              VARIABLES   { sysUpTime, sysDescr }
              DESCRIPTION
                          "A user attempted to login to console or by telnet but was refused
                           access due to incorrect username or password"
              ::= 4

-- 
-- superStackSwitch 9000SX-mib objects
-- 

		ss9000UnitPaceMode OBJECT-TYPE
        	SYNTAX INTEGER {
            	notApplicable(1),
                normalEthernet(2),
                lowLatency(3)
			}
            ACCESS	read-write
            STATUS mandatory
            DESCRIPTION
            	"This object specifies the type of backoff algorithm.  
		Any port can use the standard ethernet
                algorithm or, for PACE applications, it can be set into low
                latency mode.  In this mode, the backoff algorithm is optimized
                to minimize the possibility of collisions.
                
                PACE mode can be set for the whole unit only."
			::= { superStackSwitch9000SX-mib 1 }                
                                


-- 
--  superStackSwitch9000SX-mib PORT counters - NOTE: A "get" op on any 
--  of these objects will return the current value of the counter 
--  from the Hardware.
-- 
        
	    ss9000PortTable OBJECT-TYPE
		    SYNTAX   SEQUENCE OF Ss9000PortTableEntry
		    ACCESS   not-accessible
		    STATUS   mandatory
            DESCRIPTION
            	"The port management table."
		::= { superStackSwitch9000SX-mib 2 }

		ss9000PortTableEntry OBJECT-TYPE
		    SYNTAX   Ss9000PortTableEntry
		    ACCESS   not-accessible
		    STATUS   mandatory
		    DESCRIPTION
        	      	 "This table contains pairs of 32-bit counters which
		    map to RMON 2 64-bit counters"
		    INDEX    { ss9000PortIndex }
		    ::= { ss9000PortTable 1 }

		 Ss9000PortTableEntry ::=
		      SEQUENCE {
		 ss9000PortIndex                   INTEGER,
                	ss9000PortRxPktCtLow         Counter,
                	ss9000PortRxPktCtHigh        Counter,
                 	ss9000PortRxByteCtLow        Counter,
                	ss9000PortRxByteCtHigh       Counter,
                	ss9000PortTxPktCtLow         Counter,
                 	ss9000PortTxPktCtHigh        Counter,
                 	ss9000PortTxByteCtLow        Counter,
                	ss9000PortTxByteCtHigh       Counter
	         }

		ss9000PortIndex OBJECT-TYPE
		 	SYNTAX   INTEGER
		    ACCESS   read-only
		    STATUS   mandatory
		    DESCRIPTION
        	       "The index of this table entry."
		    ::= { ss9000PortTableEntry 1 }


        ss9000PortRxPktCtLow OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The lower 32 bits of the 64 bit receive packet counter 
                for this port"
            ::= { ss9000PortTableEntry 2 }
                            
        ss9000PortRxPktCtHigh  OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The upper 32 bits of the 64 bit receive packet counter 
                for this port"
            ::= { ss9000PortTableEntry 3 }

        ss9000PortRxByteCtLow  OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The lower 32 bits of the 64 bit receive byte counter 
                for this port"
            ::= { ss9000PortTableEntry 4 }

        ss9000PortRxByteCtHigh OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The upper 32 bits of the 64 bit receive byte counter 
                for this port"
            ::= { ss9000PortTableEntry 5 }

        ss9000PortTxPktCtLow OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The lower 32 bits of the 64 bit transmit packet counter 
                for this port"
            ::= { ss9000PortTableEntry 6 }
                            
        ss9000PortTxPktCtHigh  OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The upper 32 bits of the 64 bit transmit packet counter 
                for this port"
            ::= { ss9000PortTableEntry 7 }

        ss9000PortTxByteCtLow  OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The lower 32 bits of the 64 bit transmit byte counter 
                for this port"
            ::= { ss9000PortTableEntry 8 }

        ss9000PortTxByteCtHigh OBJECT-TYPE
            SYNTAX Counter
            ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The upper 32 bits of the 64 bit transmit byte counter 
                for this port"
            ::= { ss9000PortTableEntry 9 }

--
--	Configuration save objects.  These objects are used by the network
--  management application to save configuration changes into the
--  persistant store.  There are 2 stores on the SS9000; a primary and
--  a secondary.
--

		ss9000SaveConfiguration OBJECT-TYPE
        	SYNTAX INTEGER {
            	saveToPrimary(1),
                saveToSecondary(2)
			}
            ACCESS	write-only
            STATUS mandatory
            DESCRIPTION
            	"When this object is set, the device will copy the contents
				of the configuration database to a buffer and save it to the 
				persistant store specified by the value of the object.  The 
				save is	performed asynchronously, and the snmp agent will continue
				to respond to both gets and sets while the save is taking
				place.  A network management application may use the
				ss9000SaveStatus object to determine when the asynchronous
				save operation has completed."
			::= { superStackSwitch9000SX-mib 3 }                

		ss9000SaveStatus OBJECT-TYPE
        	SYNTAX INTEGER {
            	saveInProgress(1),
                saveNotInProgress(2)
			}
            ACCESS	read-only
            STATUS mandatory
            DESCRIPTION
            	"This object will return the status of a save operation invoked
				by setting the ss9000SaveConfiguration object.  A network
				management application can read this object to determine that a
				save operation has completed."
			::= { superStackSwitch9000SX-mib 4 }                


--
-- We place here some OIDs for as-yet-unstandardised 802.3 MAU types
--     (see MAU MIB for usages)
--

          ss9000MauType
              OBJECT IDENTIFIER ::= { superStackSwitch9000SX-mib 5 }

--                      "X fiber over short-wavelength laser PMD as specified
--                        in clause 38, duplex mode unknown"
          ss9000MauType1000BaseSX OBJECT IDENTIFIER
              ::= { ss9000MauType 1 }



END	



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

EXTREME-CABLE-MIB DEFINITIONS ::= BEGIN

    IMPORTS  
        MODULE-IDENTITY     FROM SNMPv2-SMI
		OBJECT-TYPE         FROM SNMPv2-SMI
        TruthValue          FROM SNMPv2-TC
		extremeAgent        FROM EXTREME-BASE-MIB
		extremeV2Traps		FROM EXTREME-BASE-MIB
        extremenetworks		FROM EXTREME-BASE-MIB
		DisplayString       FROM RFC1213-MIB
		NOTIFICATION-TYPE	FROM SNMPv2-SMI;
            
    extremeCable MODULE-IDENTITY
                LAST-UPDATED "201310111700Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme-specific Cable objects"
        ::= { extremeAgent 24 }

        extremeDiagConfigGroup OBJECT IDENTIFIER
	::= { extremeCable 1 }

	extremeDiagConfigTime OBJECT-TYPE
 		SYNTAX DisplayString  (SIZE(16))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
	        "Indicates the time at which the Diagnostics information 
		 will be collected for the ports which have 
		 Auto-Diagnostics configured. Time must be given in hh:mm:ss format
		 where hh, mm and ss are in decimals"
		::= { extremeDiagConfigGroup 1  }
		
	extremeDiagConfigRoF OBJECT-TYPE
		SYNTAX INTEGER {true (1), false (2)}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
	        "Indicates whether a port should return to INIT state on 
		 Diagnostics Failure. If TRUE the port will be restarted 
		 even if the Diagnostics indicate a Failure. If FALSE the 
		 port will be moved to DIAG_FAIL state"
		::= { extremeDiagConfigGroup 2  }

	extremeDiagPortConfigTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ExtremeDiagPortCfgEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
	        "Table, which contains the diagnostic configuration 
		 information for the ports"
		::= { extremeCable 2  }

	extremeDiagPortConfigEntry OBJECT-TYPE
		SYNTAX ExtremeDiagPortCfgEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
	        "Each row represents port related diagnostics 
		 configuration"
		INDEX { extremeDiagPortCfgPortIfIndex, extremeDiagPortCfgMode }
		::= { extremeDiagPortConfigTable 1  }

	ExtremeDiagPortCfgEntry ::=
		SEQUENCE {
				extremeDiagPortCfgPortIfIndex
					INTEGER,
				extremeDiagPortCfgMode
					INTEGER,
				extremeDiagPortCfgStatus
					INTEGER 
			}

	extremeDiagPortCfgPortIfIndex OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "IfIndex of the Port for which the information in this row applies"
		::= { extremeDiagPortConfigEntry 1  }

	extremeDiagPortCfgMode OBJECT-TYPE
		SYNTAX INTEGER {auto (1), manual (2)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "The mode of operation. The port can be configured to have
		 either manual diagnostics or auto-diagnostics collected."
		::= { extremeDiagPortConfigEntry 2 }

	extremeDiagPortCfgStatus OBJECT-TYPE
		SYNTAX INTEGER {enable (1), disable (2), run (3), diagfail(4)}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
	        "Specifies whether Diagnostics are enabled or disabled for 
		 the port. In the manual mode, enable and disable will disable the
		 corresponding bit in the manual Diag portmask. Once the run command is
		 given the Manual Diagnostics starts running. <diagfail> indicates the
		 diagnostics for the port has failed. <diagfail> is a read-only value and
		 cannot be used for setting the status of the port"
		::= { extremeDiagPortConfigEntry 3  }

    extremeDiagPortDiagTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ExtremeDiagPortDiagEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
		 "Table contains the diagnostic information for the ports"
		::= { extremeCable 3  }

        extremeDiagPortDiagEntry OBJECT-TYPE
		SYNTAX ExtremeDiagPortDiagEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
		 "Each row represents port related diagnostics information"
		INDEX { extremeDiagPortDiagPortIfIndex, extremeDiagPortDiagMode }
		::= { extremeDiagPortDiagTable 1 }

        ExtremeDiagPortDiagEntry ::=
		SEQUENCE {
				extremeDiagPortDiagPortIfIndex
					INTEGER,
				extremeDiagPortDiagMode
					INTEGER,
				extremeDiagPortSpeed
				    INTEGER,
				extremeDiagPortSwapAB
					INTEGER,
				extremeDiagPortSwapCD
					INTEGER,
				extremeDiagPortPairAPol
					INTEGER,
				extremeDiagPortPairAFlen
					INTEGER,
				extremeDiagPortPairALen
					INTEGER,
				extremeDiagPortPairASkew
					INTEGER,
				extremeDiagPortPairAStatus
					INTEGER,
				extremeDiagPortPairBPol
					INTEGER,
				extremeDiagPortPairBFlen
					INTEGER,
				extremeDiagPortPairBLen
					INTEGER,
				extremeDiagPortPairBSkew
					INTEGER,
				extremeDiagPortPairBStatus
					INTEGER,
				extremeDiagPortPairCPol
					INTEGER,
				extremeDiagPortPairCFlen
					INTEGER,
				extremeDiagPortPairCLen
					INTEGER,
				extremeDiagPortPairCSkew
					INTEGER,
				extremeDiagPortPairCStatus
					INTEGER,
				extremeDiagPortPairDPol
					INTEGER,
				extremeDiagPortPairDFlen
					INTEGER,
				extremeDiagPortPairDLen
					INTEGER,
				extremeDiagPortPairDSkew
					INTEGER,
				extremeDiagPortPairDStatus
					INTEGER,
				extremeDiagPortDateTime
				    DisplayString	
			}

	extremeDiagPortDiagPortIfIndex OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "IfIndex of the Port for which the information in this row applies"
		::= { extremeDiagPortDiagEntry 1  }

	extremeDiagPortDiagMode OBJECT-TYPE
		SYNTAX INTEGER {auto (1), manual (2)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "The mode of operation. The port can be configured to have
		 either manual diagnostics or auto-diagnostics collected."
		::= { extremeDiagPortDiagEntry 2 }

	extremeDiagPortSpeed OBJECT-TYPE
		SYNTAX INTEGER { speed10 (1), speed100 (2), speed1000 (3), unknown (4)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the speed of the port"
		::= { extremeDiagPortDiagEntry 3  }

	extremeDiagPortSwapAB OBJECT-TYPE
		SYNTAX INTEGER {swap(1), noswap(2), unknown(3)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies whether pairA pairB cables are swapped"
		::= { extremeDiagPortDiagEntry 4  }

	extremeDiagPortSwapCD OBJECT-TYPE
		SYNTAX INTEGER {swap(1), noswap(2), unknown(3)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies whether pairC and pairD cables are swapped"
		::= { extremeDiagPortDiagEntry 5  }

	extremeDiagPortPairAPol OBJECT-TYPE
		SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the polarity of pairA cables"
		::= { extremeDiagPortDiagEntry 6  }

	extremeDiagPortPairAFlen OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the distance of Fault in the pairA cables"
		::= { extremeDiagPortDiagEntry 7  }

	extremeDiagPortPairALen OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the length of the pairA cables"
		::= { extremeDiagPortDiagEntry 8  }

	extremeDiagPortPairASkew OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Skew of pairA cables with respect to the fastest pair"
		::= { extremeDiagPortDiagEntry 9  }

	extremeDiagPortPairAStatus OBJECT-TYPE
		SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Indicates whether pairA cables are properly terminated, 
		 short or open"
		::= { extremeDiagPortDiagEntry 10  }

	extremeDiagPortPairBPol OBJECT-TYPE
		SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the polarity of pairB cables"
		::= { extremeDiagPortDiagEntry 11  }

	extremeDiagPortPairBFlen OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the distance of Fault in the pairB cables"
		::= { extremeDiagPortDiagEntry 12  }

	extremeDiagPortPairBLen OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the length of the pairB cables"
		::= { extremeDiagPortDiagEntry 13  }

	extremeDiagPortPairBSkew OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Skew of pairB cables with respect to the fastest pair"
		::= {  extremeDiagPortDiagEntry 14 }

	extremeDiagPortPairBStatus OBJECT-TYPE
		SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Indicates whether pairB cables are properly terminated, 
		 short or open"
		::= { extremeDiagPortDiagEntry 15 }

	extremeDiagPortPairCPol OBJECT-TYPE
		SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the polarity of pairC cables"
		::= { extremeDiagPortDiagEntry 16  }

	extremeDiagPortPairCFlen OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the distance of Fault in the pairC cables"
		::= { extremeDiagPortDiagEntry 17  }

	extremeDiagPortPairCLen OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the length of the pairC cables"
		::= { extremeDiagPortDiagEntry 18 }

	extremeDiagPortPairCSkew OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Skew of pairC cables with respect to the fastest pair"
		::= { extremeDiagPortDiagEntry 19 }

	extremeDiagPortPairCStatus OBJECT-TYPE
		SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Indicates whether pairC cables are properly terminated, 
		 short or open"
		::= {  extremeDiagPortDiagEntry 20}

	extremeDiagPortPairDPol OBJECT-TYPE
		SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the polarity of pairD cables"
		::= { extremeDiagPortDiagEntry 21  }

	extremeDiagPortPairDFlen OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the distance of Fault in the pairD cables"
		::= { extremeDiagPortDiagEntry 22  }

	extremeDiagPortPairDLen OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specifies the length of the pairD cables"
		::= { extremeDiagPortDiagEntry 23 }

	extremeDiagPortPairDSkew OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Skew of pairD cables with respect to the fastest pair"
		::= { extremeDiagPortDiagEntry 24 }

	extremeDiagPortPairDStatus OBJECT-TYPE
		SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Indicates whether pairD cables are properly terminated, 
		 short or open"
		::= { extremeDiagPortDiagEntry 25 }

	extremeDiagPortDateTime OBJECT-TYPE
 		SYNTAX DisplayString  (SIZE(64))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Date and time at which the Diagnostic information was 
		 collected"
		::= { extremeDiagPortDiagEntry 26 }

	extremeDiagPortStatsTable  OBJECT-TYPE
		SYNTAX SEQUENCE OF ExtremeDiagPortStatsEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
	        "Table, which contains the diagnostic statistic information
		 for the ports"
		::= { extremeCable 4  }

	extremeDiagPortStatsEntry OBJECT-TYPE
		SYNTAX ExtremeDiagPortStatsEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
	        "Each row represents port related diagnostics statistics
		 information"
		INDEX { extremeDiagPortStatsPortIfIndex }
		::= { extremeDiagPortStatsTable 1 }

	ExtremeDiagPortStatsEntry ::=
		SEQUENCE {
				extremeDiagPortStatsPortIfIndex
					INTEGER,
				extremeDiagPortStatsNumDiag
					INTEGER,
				extremeDiagPortStatsNumSuccess
					INTEGER,
				extremeDiagPortStatsNumFail
					INTEGER,
				extremeDiagPortStatsNumChange
					INTEGER,
				extremeDiagPortStatsNumAbort
					INTEGER
			}

	extremeDiagPortStatsPortIfIndex OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "IfIndex of the Port for which the information in this row applies"
		::= { extremeDiagPortStatsEntry 1  }

	extremeDiagPortStatsNumDiag OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Number of times Diagnostics information collected for this
		 port"
		::= {   extremeDiagPortStatsEntry 2 }

	extremeDiagPortStatsNumSuccess OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Number of times Diagnostics for this port completed 
		 successfully without any errors"
		::= {   extremeDiagPortStatsEntry 3 }

	extremeDiagPortStatsNumFail OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Number of times Diagnostics for this port Failed due to 
		 errors in the cable pairs"
		::= {   extremeDiagPortStatsEntry 4 }

	extremeDiagPortStatsNumChange OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Number of times Diagnostics Changed for this port"
		::= {   extremeDiagPortStatsEntry 5 }

	extremeDiagPortStatsNumAbort OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
	        "Number of times Diagnostics was aborted by the user for this port"
		::= {   extremeDiagPortStatsEntry 6 }

--TRAPS MIB Definitions for CDM
  
--   extremeTrapDiagPortDiagnostics	TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeDiagPortCfgPortIfIndex, extremeDiagPortCfgMode, extremeDiagPortCfgStatus}
--   DESCRIPTION
--   	  "Indicates the status of Diagnostics for a port. The status indicates 
--   	  whether Diagnostics for a particular port failed"
--   ::= 22

   extremeCableTraps 	OBJECT IDENTIFIER
	::= { extremeCable 5 }

   extremeCableTrapsPrefix   OBJECT IDENTIFIER
	::= { extremeCableTraps 0 }

   extremeTrapDiagPortDiagnostics	NOTIFICATION-TYPE
   	OBJECTS   {extremeDiagPortCfgPortIfIndex, extremeDiagPortCfgMode, extremeDiagPortCfgStatus}
      STATUS current
      DESCRIPTION
   	  "Indicates the status of Diagnostics for a port. The status indicates 
   	  whether Diagnostics for a particular port failed"
      ::= { extremeCableTrapsPrefix 1 }

END

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

EXTREME-DLCS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE, IpAddress, TimeTicks
                                FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        DisplayString   FROM RFC1213-MIB
                extremeAgent
                                FROM EXTREME-BASE-MIB;

        extremeDlcs MODULE-IDENTITY
                LAST-UPDATED "9903040000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION 
                        "Extreme Dynamic-Link Context System (DLCS) status objects"
        ::= { extremeAgent 8 }


--
-- Enable/disable DLCS
--
    extremeDlcsEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information."
    ::= { extremeDlcs 1 }

    extremeDlcsNetbiosEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information using the
                        NetBios protocol."
    ::= { extremeDlcs 2 }

    extremeDlcsKerberos5Enable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information using the
                        Kerberos V5 protocol."
    ::= { extremeDlcs 3 }

    extremeDlcsRsvpEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information using the RSVP
                        protocol."
    ::= { extremeDlcs 4 }

    extremeDlcsDnsEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                      "Setting this to true will allow the agent to start 
                        collecting DLCS binding information using the
                        DNS protocol."
    ::= { extremeDlcs 5 }

--
-- DLCS Binding Table
--
--
-- How is this table used?
-- 
-- (1) Manager creates extremeSmartTrapRulesEntry with
-- extremeSmartTrapRulesIndex = XXXX
-- extremeSmartTrapRulesDesiredOID = extremeDlcsBindingTable
-- extremeSmartTrapRulesOperation = any
-- 
-- (2) Events are reported by agent creating a extremeSmartTrapInstanceEntry with:
-- 
-- extremeSmartTrapInstanceRule = XXXX
-- extremeSmartTrapInstanceChangedOid = extremeDlcsBindingIndex
-- extremeSmartTrapInstanceActualOperation = add, delete or modify
-- 
-- and generating the actual trap.
-- 

        extremeDlcsBindingTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF ExtremeDlcsBindingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
                DESCRIPTION
                "Table of DLCS Binding information. Entries are added and deleted
                by the agent based on information gathered from the local network 
                environment. Multiple entries may exist for almost identical sets
                of bindings although the agent will ensure that exactly matching
                entries are coalesced."
    ::= { extremeDlcs 6 }

        extremeDlcsBindingEntry OBJECT-TYPE
        SYNTAX  ExtremeDlcsBindingEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Entry in table of DLCS bindings."
               INDEX { extremeDlcsBindingIndex } 
    ::= { extremeDlcsBindingTable 1 }

        ExtremeDlcsBindingEntry ::= SEQUENCE
        {
                extremeDlcsBindingIndex         INTEGER,
                extremeDlcsBindingType          BITS,
                extremeDlcsBindingSource        INTEGER,
                extremeDlcsBindingUser          DisplayString,
                extremeDlcsBindingGroup         DisplayString,
                extremeDlcsBindingApplication   DisplayString,
                extremeDlcsBindingHost          DisplayString,
                extremeDlcsBindingIpAddress     IpAddress,
                extremeDlcsBindingPhysPort      INTEGER,
                extremeDlcsBindingUpdateTime    TimeTicks
        }

        extremeDlcsBindingIndex  OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "An index into this table, chosen by the agent. This has
                no significance to the manager beyond its uniqueness
                within this agent."
    ::= { extremeDlcsBindingEntry 1 }

        extremeDlcsBindingType  OBJECT-TYPE
            SYNTAX  BITS { user2ip(0), user2port(1), ip2port(2), 
                           application2user(3), application2ip(4), 
                           host2ip(5), group2ip(6), group2port(7), 
                           user2group(8) }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The type of binding expressed here. A given bit is set if DLCS
                has detected that the two relevant items are bound together. 
                e.g. an entry with application2user(3) set to 1 implies that
                the username extremeDlcsBindingUser has been seen to be using 
                the application extremeDlcsBindingApplication. In addition, if
                this entry also has user2port(1) set to 1 then this user and
                application have been detected as running on the physical
                switch port extremeDlcsBindingPhysPort."
    ::= { extremeDlcsBindingEntry 2 }

        extremeDlcsBindingSource  OBJECT-TYPE
            SYNTAX  INTEGER { other (1), local(2), netbiosquery(3),
             netbiosbind (4), dns(5), kerberos5(6), rsvp(7) }
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                "The source of the information binding."
    ::= { extremeDlcsBindingEntry 3 }

        extremeDlcsBindingUser  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The User name detected by DLCS. A string of length zero
         indicates no valid User name has been detected for this
         binding."
    ::= { extremeDlcsBindingEntry 4 }

        extremeDlcsBindingGroup  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Group name detected by DLCS. A string of length zero
                 indicates no valid Group name has been detected for this
         binding."
    ::= { extremeDlcsBindingEntry 5 }

        extremeDlcsBindingApplication  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Application name detected by DLCS. A string of length 
                zero indicates no valid Application name has been detected 
                for this binding."
    ::= { extremeDlcsBindingEntry 6 }

        extremeDlcsBindingHost  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Host name detected by DLCS. A string of length 
                zero indicates no valid Host name has been detected 
                for this binding."
    ::= { extremeDlcsBindingEntry 7 }

        extremeDlcsBindingIpAddress  OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The IP address detected by DLCS. A value of 0.0.0.0
                indicates no valid IP address has been detected 
                for this binding."
    ::= { extremeDlcsBindingEntry 8 }

        extremeDlcsBindingPhysPort  OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The physical port number (ifIndex) detected by DLCS.
                This is valid in all bindings."
    ::= { extremeDlcsBindingEntry 9 }

        extremeDlcsBindingUpdateTime  OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of sysUpTime when this entry was last updated."
    ::= { extremeDlcsBindingEntry 10 }

END

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

EXTREME-DOS-MIB DEFINITIONS ::= BEGIN

    IMPORTS  
        MODULE-IDENTITY     FROM SNMPv2-SMI
		OBJECT-TYPE         FROM SNMPv2-SMI
        TruthValue          FROM SNMPv2-TC
		extremeAgent        FROM EXTREME-BASE-MIB
		extremeV2Traps		FROM EXTREME-BASE-MIB
        extremenetworks		FROM EXTREME-BASE-MIB
		DisplayString       FROM RFC1213-MIB
                TimeTicks		FROM SNMPv2-SMI
		NOTIFICATION-TYPE	FROM SNMPv2-SMI;

        extremeDosMib MODULE-IDENTITY
                LAST-UPDATED "0401020000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Dos protect objects information"
        ::= { extremeAgent 28 }

        extremeDosProtect OBJECT IDENTIFIER ::= { extremeDosMib 1 }


extremeDosEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether DOS protection is enabled or disabled."
    DEFVAL { false }
    ::= { extremeDosProtect 1 }


extremeDosNoticeLevel    OBJECT-TYPE
    SYNTAX      INTEGER(150..100000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The number of packets per second to be received for logging."
    DEFVAL { 4000 }
    ::= { extremeDosProtect 2 }

extremeDosAlertLevel    OBJECT-TYPE
    SYNTAX      INTEGER(150..100000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The number of packets per second to be received for ACL creation."
    DEFVAL { 4000 }
    ::= { extremeDosProtect 3 }

extremeDosFilterType    OBJECT-TYPE
    SYNTAX      INTEGER {
		destination (1),
		source	    (2),
		destinationAndSource (3)
		}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The type of access list filter to be set when threshold pakets are received"
    DEFVAL { destination }
    ::= { extremeDosProtect 4 }

extremeDosAclTimeout    OBJECT-TYPE
    SYNTAX      INTEGER(2..300)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The timeout interval period over which DOS protect is exercised."
    DEFVAL { 15 }
    ::= { extremeDosProtect 5 }

extremeDosAclRulePrecedence    OBJECT-TYPE
    SYNTAX      INTEGER(0..25588)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The DOS filter Rule Precedence."
    DEFVAL { 10 }
    ::= { extremeDosProtect 6 }

extremeDosMessagesEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether DOS messages are enabled or disabled."
    DEFVAL { true }
    ::= { extremeDosProtect 7 }

extremeDosPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeDosPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains the port wise listing of DOS attributes."
    ::= { extremeDosProtect 8 }

extremeDosPortEntry       OBJECT-TYPE
    SYNTAX      ExtremeDosPortEntry
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
            "Information about the Dos attributes of a particular port."
    INDEX   { extremeDosIfIndex }
    ::= { extremeDosPortTable 1 }

ExtremeDosPortEntry ::= SEQUENCE {
      extremeDosIfIndex          		INTEGER,
      extremeDosPortTrusted			TruthValue,
      extremeDosIsDosActive			TruthValue
}

extremeDosIfIndex    OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index for this entry."
    ::= { extremeDosPortEntry 1 }

extremeDosPortTrusted    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the port is trusted or untrusted."
    DEFVAL { false }
    ::= { extremeDosPortEntry 2 }

extremeDosIsDosActive    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Indicates whether DOS is active on this port."
    ::= { extremeDosPortEntry 3 }

--TRAPS MIB Definitions for DOS
  
--   extremeDosThresholdReached	TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeDosAlertLevel}
--   DESCRIPTION
--   	  "The extremeDosThresholdReached notification is generated when the
--   	  DOS threshold is crossed"
--   ::= 23

--   extremeDosThresholdCleared	TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeDosAlertLevel}
--   DESCRIPTION
--   	  "The extremeDosThresholdCleared notification is generated when the
--   	  DOS threshold is Cleared"
--   ::= 24

   extremeDosTraps 	OBJECT IDENTIFIER
	::= { extremeV2Traps 14 }

   extremeDosTrapsPrefix   OBJECT IDENTIFIER
	::= { extremeDosTraps 0 }

   extremeDosThresholdCleared	NOTIFICATION-TYPE
	OBJECTS { extremeDosAlertLevel }
	STATUS current
	DESCRIPTION
		"The extremeDosThresholdCleared notification is generated when
		the DOS threshold is cleared ."
   ::= { extremeDosTrapsPrefix 1 }

   extremeDosThresholdReached	NOTIFICATION-TYPE
	OBJECTS { extremeDosAlertLevel }
	STATUS current
	DESCRIPTION
		"The extremeDosThresholdReached notification is generated when
		the DOS threshold is crossed for any of the ports."
   ::= { extremeDosTrapsPrefix 2 }

END

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

EXTREMEdot11f-MIB DEFINITIONS ::= BEGIN 
	IMPORTS 

	MODULE-IDENTITY FROM SNMPv2-SMI
	extremeAP FROM EXTREME-BASE-MIB;


-- ********************************************************************** 
-- * MODULE IDENTITY 
-- ********************************************************************** 

	extremeDot11f MODULE-IDENTITY 
	LAST-UPDATED "0107020000Z" 
	ORGANIZATION "Extreme Networks"
	CONTACT-INFO 
		" "

	DESCRIPTION 
	"This MIB module provides management of IAPP on a set of APs.
	 It is functionally identical to the IAPP MIB from the IEEE
	 with the addition of a new index."
    ::= { extremeAP 22 }

END

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

EXTREME-ENH-DOS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
                OBJECT-TYPE     FROM SNMPv2-SMI
                DisplayString   FROM RFC1213-MIB   
                TimeTicks		FROM SNMPv2-SMI
	            TruthValue, RowStatus           FROM SNMPv2-TC
                extremeAgent    FROM EXTREME-BASE-MIB
		extremeV2Traps		FROM EXTREME-BASE-MIB;



        extremeEnhDosMib MODULE-IDENTITY
                LAST-UPDATED "0401020000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Enhanced Dos protect objects information"
        ::= { extremeAgent 29 }

        extremeEnhDosProtect OBJECT IDENTIFIER ::= { extremeEnhDosMib 1 }


extremeEnhDosEnableRateLimit    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether Enhanced DOS protection with rate limit is enabled or disabled."
    DEFVAL { false }
    ::= { extremeEnhDosProtect 1 }

extremeEnhDosEnableIpFdb    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether Enhanced DOS protection against IPFDB thrashing is enabled or disabled."
    DEFVAL { false }
    ::= { extremeEnhDosProtect 2 }

extremeEnhDosEnableBenchMark    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Flag indicates whether Enhanced DOS protection with benchmarking  is enabled or disabled."
    DEFVAL { false }
    ::= { extremeEnhDosProtect 3 }

extremeEnhDosCacheSize    OBJECT-TYPE
    SYNTAX      INTEGER(100..262144)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The Enhanced DOS Cache Size. The number of DA/SA pairs"
    DEFVAL { 262144 }
    ::= { extremeEnhDosProtect 4 }


--------------   The DOS Port Table ------------------------------

extremeEnhDosPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeEnhDosPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains the port wise listing of Enhanced DOS attributes."
    ::= { extremeEnhDosProtect 5 }

extremeEnhDosPortEntry       OBJECT-TYPE
    SYNTAX      ExtremeEnhDosPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about the Dos attributes of a particular port."
    INDEX   { extremeEnhDosPortIfIndex }
    ::= { extremeEnhDosPortTable 1 }

ExtremeEnhDosPortEntry ::= SEQUENCE {
      extremeEnhDosPortIfIndex          	INTEGER,
      extremeEnhDosPortTrusted			TruthValue,
      extremeEnhDosPortAlarmState          	TruthValue,
      extremeEnhDosPortLearnLimit			INTEGER,
      extremeEnhDosPortLearnWindow         	INTEGER,
      extremeEnhDosPortAgingTime			INTEGER,
      extremeEnhDosPortRateLimitEnable		TruthValue,
      extremeEnhDosPortIpFdbEnable		TruthValue,
      extremeEnhDosPortBenchMarkEnable		TruthValue,
      extremeEnhDosPortRateLimitThreshold		INTEGER,
      extremeEnhDosPortRateLimitDropProbability	INTEGER,
      extremeEnhDosPortRateLimitLearningWindow	INTEGER,
      extremeEnhDosPortRateLimitProtocol      	INTEGER
}


extremeEnhDosPortIfIndex    OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index for this entry."
    ::= { extremeEnhDosPortEntry 1 }

extremeEnhDosPortTrusted    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the port is trusted or untrusted."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 2 }

extremeEnhDosPortAlarmState    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Indicates whether the port is in alarm state or not."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 3 }

extremeEnhDosPortLearnLimit    OBJECT-TYPE
    SYNTAX      INTEGER(100..1953125)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The number of packets allowed on the port before an entry is
	created in the forwarding table."
    DEFVAL { 100 }
    ::= { extremeEnhDosPortEntry 4 }

extremeEnhDosPortLearnWindow    OBJECT-TYPE
    SYNTAX      INTEGER(1..300)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The duration to be considered to reach the threshold for creating an entry
	  in the forwarding table."
    DEFVAL { 60 }
    ::= { extremeEnhDosPortEntry 5 }

extremeEnhDosPortAgingTime    OBJECT-TYPE
    SYNTAX      INTEGER(1..300)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The duration to be considered for aging out entries created on this port."
    DEFVAL { 30 }
    ::= { extremeEnhDosPortEntry 6 }

extremeEnhDosPortRateLimitEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the rate limit is enabled for this port."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 7 }

extremeEnhDosPortIpFdbEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the DOS protection against IP FDB thrashing is enabled for this port."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 8 }


extremeEnhDosPortBenchMarkEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether the bench marking is enabled for this port."
    DEFVAL { false }
    ::= { extremeEnhDosPortEntry 9 }

extremeEnhDosPortRateLimitThreshold    OBJECT-TYPE
    SYNTAX      INTEGER(100..1953125)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The number of packets allowed on the port within the learning window before the rate limit is applied."
    DEFVAL { 100 }
    ::= { extremeEnhDosPortEntry 10 }

extremeEnhDosPortRateLimitDropProbability    OBJECT-TYPE
    SYNTAX      INTEGER(5..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The probability that the packet is discarded after the reaching the threshold."
    DEFVAL { 50 }
    ::= { extremeEnhDosPortEntry 11 }


extremeEnhDosPortRateLimitLearningWindow    OBJECT-TYPE
    SYNTAX      INTEGER(5..300)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The duration to be considered after which the rate limit is applied."
    DEFVAL { 60 }
    ::= { extremeEnhDosPortEntry 12 }

extremeEnhDosPortRateLimitProtocol    OBJECT-TYPE
    SYNTAX      INTEGER {
		icmp	(1),
		all	(2)
	}
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The protocol packets to be considered for rate limit filtering."
    DEFVAL { icmp }
    ::= { extremeEnhDosPortEntry 13 }


------- The DOS Port Statistics Table (READ-ONLY)-----------------

extremeEnhDosPortStatisticsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeEnhDosPortStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains the port wise listing of DOS statistics."
    ::= { extremeEnhDosProtect 6 }

extremeEnhDosPortStatisticsEntry       OBJECT-TYPE
    SYNTAX      ExtremeEnhDosPortStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about the DOS statistics of a particular port."
    INDEX   { extremeEnhDosPortStatisticsIfIndex }
    ::= { extremeEnhDosPortStatisticsTable 1 }

ExtremeEnhDosPortStatisticsEntry ::= SEQUENCE {
      extremeEnhDosPortStatisticsIfIndex 		INTEGER,
      extremeEnhDosPortStatisticsRateLimitFilteredPackets  INTEGER
}

extremeEnhDosPortStatisticsIfIndex    OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index for this entry."
    ::= { extremeEnhDosPortStatisticsEntry 1 }

extremeEnhDosPortStatisticsRateLimitFilteredPackets    OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of packets filetered on this port."
    ::= { extremeEnhDosPortStatisticsEntry 2 }
  
                                                 
                  
--TRAPS MIB Definitions for ENHDOS
  
--   extremeEnhDosThresholdReached	TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeEnhDosPortIfIndex,extremeEnhDosPortRateLimitThreshold}
--   DESCRIPTION
--   	  "The extremeDosThresholdReached notification is generated when the
--   	  DOS threshold is crossed"
--   ::= 25

--   extremeEnhDosThresholdCleared	TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeEnhDosPortIfIndex,extremeEnhDosPortRateLimitThreshold}
--   DESCRIPTION
--   	  "The extremeDosThresholdCleared notification is generated when the
--   	  DOS threshold is Cleared"
--   ::= 26

extremeEnhDosTraps 	OBJECT IDENTIFIER
	::= { extremeV2Traps 11 }

   extremeEnhDosTrapsPrefix   OBJECT IDENTIFIER
	::= { extremeEnhDosTraps 0 }

   extremeEnhDosThresholdReached NOTIFICATION-TYPE
	OBJECTS { extremeEnhDosPortIfIndex,
		  extremeEnhDosPortRateLimitThreshold }
	STATUS current
	DESCRIPTION
		"The extremeDosThresholdReached notification is generated when
		the DOS threshold is crossed for any of the ports."
	    ::= { extremeEnhDosTrapsPrefix 1 }

    extremeEnhDosThresholdCleared NOTIFICATION-TYPE
	OBJECTS { extremeEnhDosPortIfIndex,
		  extremeEnhDosPortRateLimitThreshold }
	STATUS current
	DESCRIPTION
		"The extremeEnhDosThresholdCleared notification is generated when
		the DOS threshold is cleared for any of the ports."
	    ::= { extremeEnhDosTrapsPrefix 2 }
END

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

EXTREME-FILETRANSFER-MIB DEFINITIONS ::= BEGIN

IMPORTS
      MODULE-IDENTITY, IpAddress, OBJECT-TYPE        
                        FROM SNMPv2-SMI
      DisplayString, TestAndIncr, RowStatus
            FROM SNMPv2-TC
      OwnerString       FROM RMON-MIB
      extremeAgent    FROM EXTREME-BASE-MIB;

extremeFileTransfer    MODULE-IDENTITY
    LAST-UPDATED    "9810211630Z"
    ORGANIZATION    "Extreme Networks, Inc."
    CONTACT-INFO    "www.extremenetworks.com"
    DESCRIPTION    "Extreme File transfer objects"
    ::= {extremeAgent 10}

-- The file transfer group

extremeFileTransferGroup OBJECT IDENTIFIER ::= { extremeFileTransfer 1 }

extremeFileTransferNextAvailableIndex OBJECT-TYPE
    SYNTAX  TestAndIncr
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
          "The index of the next free row in the extremeFileTransferTable."
    ::= { extremeFileTransferGroup 1}

extremeFileTransferTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF FileTransferEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A table of pending and completed file transfers."
    ::= { extremeFileTransferGroup 2 }

extremeFileTransferEntry OBJECT-TYPE
    SYNTAX    FileTransferEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
                "A table entry containing information on a pending
                or completed file transfer."
    INDEX    { extremeFileTransferIndex }
    ::= { extremeFileTransferTable 1 }

FileTransferEntry ::=
    SEQUENCE {
        extremeFileTransferIndex            INTEGER,
        extremeFileTransferServerAddress        IpAddress,
        extremeFileTransferFileName                    DisplayString,
        extremeFileTransferOperation            INTEGER,
        extremeFileTransferScheduledTime        OCTET STRING,
        extremeFileTransferStartAdminStatus        INTEGER,
        extremeFileTransferStartOperStatus        INTEGER,
        extremeFileTransferLastExecutionStatus        INTEGER,
        extremeFileTransferOwner                       OwnerString,
        extremeFileTransferRowStatus            RowStatus
    }
        
extremeFileTransferIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "An index into the file transfer table."
        ::= { extremeFileTransferEntry 1 }

extremeFileTransferServerAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        "This is the address of the TFTP server from which to
        download the image or configuration or upload the 
        configuration."
        ::= { extremeFileTransferEntry 2 }

extremeFileTransferFileName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..64))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        "This is the name of the file to be downloaded or uploaded."
        ::= { extremeFileTransferEntry 3 }

extremeFileTransferOperation OBJECT-TYPE
         SYNTAX  INTEGER {
                    downloadImageToPrimaryImmediate(1),
                    downloadImageToSecondaryImmediate(2),
                    downloadConfigImmediate(3),
                    uploadConfigImmediate(4),
                    scheduleConfigUploadPeriodic(5),
                    scheduleConfigUploadOnce(6),
                    scheduleImageDownloadToPrimaryOnce(7),
                    scheduleImageDownloadToSecondaryOnce(8),
            scheduleConfigDownloadOnce(9)
                 }
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION 
                 "Indication of the file transfer operation.
                  This object allows configuration of uploads and/or
                  downloads either immediately or at a scheduled time.

          A value of downloadImageToPrimaryImmediate(1) or 
          downloadImageToSecondaryImmediate(2) describes immediate 
          download of a software image to either the primary or 
          secondary permanent store. A value of 
          downloadConfigImmediate(3) describes immediate download
          of a configuration file to non-volatile store. A value
          of uploadConfigImmediate(4) describes the immediate upload
          of the currently running configuration to the server.

          A value of scheduleConfigUploadOnce(6) describes a single 
          upload of the current configuration to the server at the 
          time extremeFileTransferScheduledTime. A value of 
          scheduleConfigUploadPeriodic(5) describes daily uploads 
          of the current configuration to the server at the time 
          extremeFileTransferScheduledTime every day.

          A value of scheduleImageDownloadToPrimaryOnce(7) or 
          scheduleImageDownloadToSecondaryOnce(8) describes a single 
          download of a software image to either the primary or 
          secondary permanent store at the time
          extremeFileTransferScheduledTime.

          This object can be modified only if
          extremeFileTransferStartOperStatus for this entry is idle(1).

                  Note that any attempts to modify this object including
                  row creation which would result in multiple downloads
                  would cause the operation to fail. Managers are
                  strongly recommened to examine the 
                  extremeFileTransferStartOperStatus object for the entries
                  in the table to determine the status of downloads
                  before attempting to modify this object."
         ::= { extremeFileTransferEntry 4 }

extremeFileTransferScheduledTime OBJECT-TYPE -- This convention is from RMON2
        SYNTAX  OCTET STRING (SIZE (0 | 8 | 11))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "The time of the day at which the file transfer operation 
                should be initiated. This object is meaningful only for
                scheduled file transfers.

                field  octets  contents                  range
                -----  ------  --------                  -----
                1      1-2   year                      0..65536
                2       3    month                     1..12
                3       4    day                       1..31
                4       5    hour                      0..23
                5       6    minutes                   0..59
                6       7    seconds                   0..60
                                         (use 60 for leap-second)
                7       8    deci-seconds              0..9
                8       9    direction from UTC        '+' / '-'
                9      10    hours from UTC            0..11
                10      11    minutes from UTC         0..59

                For example, Tuesday May 26, 1992 at 1:30:15 PM
                EDT would be displayed as:

                     1992-5-26,13:30:15.0,-4:0

                Note that if only local time is known, then
                timezone information (fields 8-10) is not
                present, and if no time information is known, the null
                string is returned."
        ::= { extremeFileTransferEntry 5 }
    
extremeFileTransferStartAdminStatus OBJECT-TYPE
         SYNTAX  INTEGER {
                    start(1),
                    cancel(2)       
                 }
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION 
                 "Writing to this object initiates the upload/download or
                 schedules one. The extremeFileTransferStartOperStatus object
                 should be checked before attempting to set this object.
                 This object cannot be modified while the 
                 extremeFileTransferStartOperStatus is inProgress(3). This
         object can be set start(1) only if the
         extremeFileTransferStartOperStatus is idle(1). A scheduled
         upload/download will be cancelled by setting the value of
         this object to cancel(2)."
         DEFVAL { cancel }
        ::= { extremeFileTransferEntry 6}
    
extremeFileTransferStartOperStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                  idle(1),
                  scheduled(2),
                  inProgress(3)
                }
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION 
        "The agent sets this value to reflect the current status of 
                the file transfer operation. Reading this object is meaningful 
                only if the extremeFileTransferRowStatus is active(1). The
        current status is determined by the agent by examining the
        values for extremeFileTransferOperation and
        extremeFileTransferStartAdminStatus."
        ::= { extremeFileTransferEntry 7 }

extremeFileTransferLastExecutionStatus OBJECT-TYPE
        SYNTAX  INTEGER { -- These values are from RMON-2
                    success(1),
                    statusUnknown(2),
                    generalError(3),
                    noResponseFromServer(4),
                    checksumError(5),
                    incompatibleImage(6),
                    tftpFileNotFound(7),
                    tftpAccessViolation(8),
            fileTooLarge(9),
            downloadInProgress(10)
                }
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION 
        "The  status of the last file transfer operation. This value 
                is returned as statusUnknown(1) until the
        extremeFileTransferRowStatus is set to active(1) or when the
        extremeFileTransferStartOperStatus is inProgress(3). After an
        upload/download, the agent will update this value with the
        result of the file transfer. Managers should read this object
        before modifying extremeFileTransferOperation because the
        agent would set this value to statusUnknown(2) in such cases."
        ::= { extremeFileTransferEntry 8 }

extremeFileTransferOwner OBJECT-TYPE
        SYNTAX  OwnerString(SIZE (0..32))
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "Indicates the identity of the manager that configured this
                 file transfer entry."
        ::= { extremeFileTransferEntry 9 }

extremeFileTransferRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "The status of this table entry. This object can not be
        modified while the extremeFileTransferStatus is inProgress(1).
        Setting this object to notInService(2) or destroy(6) will
        cancel any scheduled uploads if this entry was configured for
        one.

                Note that any attempts to create new rows which would result
        in multiple downloads would cause the row creation to fail.
        Similarly, attempting to delete a row while
        extremeFileTransferStartOperStatus is inProgress(3) would fail.
        Managers are strongly recommened to examine the
        extremeFileTransferStartOperStatus object for the entries in 
                the table to determine the status of downloads before
        attempting row creation/deletion."
        ::= { extremeFileTransferEntry 10 }

END

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

EXTREME-NETFLOW-MIB DEFINITIONS ::= BEGIN

      IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
            OBJECT-TYPE             FROM SNMPv2-SMI
            IpAddress               FROM SNMPv2-SMI
                MacAddress              FROM SNMPv2-TC
                TruthValue          FROM SNMPv2-TC
                extremeAgent            FROM EXTREME-BASE-MIB;


        extremeNetFlow MODULE-IDENTITY
                LAST-UPDATED "0010310000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme NetFlow tables."
        ::= { extremeAgent 22 }

        extremeNetFlowConfigPort OBJECT IDENTIFIER
        ::= { extremeNetFlow 1 }

        extremeNetFlowConfigGroup OBJECT IDENTIFIER
        ::= { extremeNetFlow 2 }


        extremeNetFlowGroupCollectorTable                  OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeNetFlowGroupCollectorEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for a defined NetFlow group flow entry."
                ::= { extremeNetFlowConfigGroup 2 }

        extremeNetFlowGroupCollectorEntry                      OBJECT-TYPE
                SYNTAX   ExtremeNetFlowGroupCollectorEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeNetFlowGroupNumber,
                       extremeNetFlowCollectorId}
                ::= {extremeNetFlowGroupCollectorTable 1}


        ExtremeNetFlowGroupCollectorEntry ::= SEQUENCE {
                extremeNetFlowGroupNumber             INTEGER,
                extremeNetFlowCollectorId             INTEGER,
                extremeNetFlowGroupPingEnabled        TruthValue,
                extremeNetFlowGroupSourceIp           IpAddress,
                extremeNetFlowCollectorIpAddress      IpAddress,
                extremeNetFlowCollectorUdpPort        INTEGER,
                extremeNetFlowCollectorStatusUp       TruthValue,
                extremeNetFlowCollectorDowntime       INTEGER,
        extremeNetFlowCollectorPacketsTx      INTEGER
        }

        extremeNetFlowGroupNumber                   OBJECT-TYPE
                SYNTAX  INTEGER (1..32)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The group number."
                ::= { extremeNetFlowGroupCollectorEntry 1 }

        extremeNetFlowCollectorId               OBJECT-TYPE
                SYNTAX  INTEGER (1..8)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The collector number."
                ::= { extremeNetFlowGroupCollectorEntry 2 }

        extremeNetFlowGroupPingEnabled        OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating if ping is enabled for the group"
                ::= { extremeNetFlowGroupCollectorEntry 3 }

        extremeNetFlowGroupSourceIp              OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Source IP address for the group."
                ::= { extremeNetFlowGroupCollectorEntry 4 }

        extremeNetFlowCollectorIpAddress              OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "The collector's configured IP address."
                ::= { extremeNetFlowGroupCollectorEntry 5 }

        extremeNetFlowCollectorUdpPort                        OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The collector's configured UDP port number."
                ::= { extremeNetFlowGroupCollectorEntry 6 }

        extremeNetFlowCollectorStatusUp                  OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating if the collector is up."
                ::= { extremeNetFlowGroupCollectorEntry 7 }

        extremeNetFlowCollectorDowntime                       OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The downtime value for the collector."
                ::= { extremeNetFlowGroupCollectorEntry 8 }
        
    extremeNetFlowCollectorPacketsTx                      OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The transmit packet count for the collector."
                ::= { extremeNetFlowGroupCollectorEntry 9 }



--
-- NetFlow Port Configuration Table
--

        extremeNetFlowPortConfigTable                   OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeNetFlowPortConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for a defined NetFlow port."
                ::= { extremeNetFlowConfigPort 1 }

        extremeNetFlowPortConfigEntry                   OBJECT-TYPE
                SYNTAX  ExtremeNetFlowPortConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeNetFlowPortConfigPortIndex}
                ::= {extremeNetFlowPortConfigTable 1}


        ExtremeNetFlowPortConfigEntry ::= SEQUENCE {
                extremeNetFlowPortConfigPortIndex       INTEGER,
                extremeNetFlowPortConfigEnabled         TruthValue,
                extremeNetFlowPortConfigTimout          INTEGER,
                extremeNetFlowPortOverFlowPackets       INTEGER
        }

        extremeNetFlowPortConfigPortIndex               OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The index value for the port."
                ::= { extremeNetFlowPortConfigEntry 1 }

        extremeNetFlowPortConfigEnabled              OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating if port is enabled."
                ::= { extremeNetFlowPortConfigEntry 2 }

        extremeNetFlowPortConfigTimout                       OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The port timeout value."
                ::= { extremeNetFlowPortConfigEntry 3 }

        extremeNetFlowPortOverFlowPackets                      OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The number of packets not accounted for due to lack of resources.  Implemented on PoS ports only"
                ::= { extremeNetFlowPortConfigEntry 4 }



--
-- NetFlow Port Filter Entry Configuration Table
--

        extremeNetFlowPortFilterConfigTable                     OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeNetFlowPortFilterConfigEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                        "This table contains configuration information
                         for a defined NetFlow filter."
                ::= { extremeNetFlowConfigPort 2 }

        extremeNetFlowPortFilterConfigEntry                     OBJECT-TYPE
                SYNTAX  ExtremeNetFlowPortFilterConfigEntry
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        ""
                INDEX {extremeNetFlowPortConfigPortNumber,
                       extremeNetFlowPortConfigFilterEgress,
                       extremeNetFlowPortConfigFilterNumber}
                ::= {extremeNetFlowPortFilterConfigTable 1}

        ExtremeNetFlowPortFilterConfigEntry ::= SEQUENCE {
                extremeNetFlowPortConfigPortNumber      INTEGER,
                extremeNetFlowPortConfigFilterEgress    TruthValue,
                extremeNetFlowPortConfigFilterNumber    INTEGER,
                extremeNetFlowPortEnabled               TruthValue,
                extremeNetFlowFilterEnabled             TruthValue,
                extremeNetFlowDestIpAddress             IpAddress,
                extremeNetFlowDestIpAddressMask         IpAddress,
                extremeNetFlowSourceIpAddress           IpAddress,
                extremeNetFlowSourceIpAddressMask       IpAddress,
                extremeNetFlowDestPort                  INTEGER,
                extremeNetFlowDestPortMask              INTEGER,
                extremeNetFlowSourcePort                INTEGER,
                extremeNetFlowSourcePortMask            INTEGER,
                extremeNetFlowProtocol                  INTEGER,
                extremeNetFlowProtocolMask              INTEGER,
                extremeNetFlowFilterGroupNumber         INTEGER,
                extremeNetFlowMatchAllFlag              TruthValue,
                extremeNetFlowMatchNoneFlag             TruthValue
        }

        extremeNetFlowPortConfigPortNumber                     OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The port number for the filter."
                ::= { extremeNetFlowPortFilterConfigEntry 1 }

        extremeNetFlowPortConfigFilterEgress                     OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                        "Flag indicating whether this is a request for an
             egress filter (1) or an ingress filter (0)."
                ::= { extremeNetFlowPortFilterConfigEntry 2 }

        extremeNetFlowPortConfigFilterNumber                     OBJECT-TYPE
                SYNTAX  INTEGER (1..8)
                MAX-ACCESS      not-accessible
                STATUS  current
                DESCRIPTION
                        "The filter number being requested (1-8)."
                ::= { extremeNetFlowPortFilterConfigEntry 3 }

        extremeNetFlowPortEnabled                                OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating whether port is enabled."
                ::= { extremeNetFlowPortFilterConfigEntry 4 }

        extremeNetFlowFilterEnabled                    OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Flag indicating whether filter is enabled."
                ::= { extremeNetFlowPortFilterConfigEntry 5 }

        extremeNetFlowDestIpAddress                    OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter Destination IP address."
                ::= { extremeNetFlowPortFilterConfigEntry 6 }

        extremeNetFlowDestIpAddressMask                OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter Destination IP address Mask."
                ::= { extremeNetFlowPortFilterConfigEntry 7 }

        extremeNetFlowSourceIpAddress                  OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter Source IP address."
                ::= { extremeNetFlowPortFilterConfigEntry 8 }

        extremeNetFlowSourceIpAddressMask              OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter Source IP address Mask."
                ::= { extremeNetFlowPortFilterConfigEntry 9 }

        extremeNetFlowDestPort                         OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The destination port (valid for TCP and UDP flows only)."
                ::= { extremeNetFlowPortFilterConfigEntry 10 }

        extremeNetFlowDestPortMask                     OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The destination port mask."
                ::= { extremeNetFlowPortFilterConfigEntry 11 }

        extremeNetFlowSourcePort                       OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The source port (valid for TCP and UDP flows only)."
                ::= { extremeNetFlowPortFilterConfigEntry 12 }

        extremeNetFlowSourcePortMask                   OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The source port mask."
                ::= { extremeNetFlowPortFilterConfigEntry 13 }

        extremeNetFlowProtocol                         OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The IP protocol for the filter."
                ::= { extremeNetFlowPortFilterConfigEntry 14 }

        extremeNetFlowProtocolMask                     OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The IP protocol mask."
                ::= { extremeNetFlowPortFilterConfigEntry 15 }

        extremeNetFlowFilterGroupNumber                OBJECT-TYPE
                SYNTAX  INTEGER (1..32)
                MAX-ACCESS      read-only
                STATUS  current
                DESCRIPTION
                        "The Group Number."
                ::= { extremeNetFlowPortFilterConfigEntry 16 }

        extremeNetFlowMatchAllFlag                     OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter is set to match all flows."
                ::= { extremeNetFlowPortFilterConfigEntry 17 }

        extremeNetFlowMatchNoneFlag                    OBJECT-TYPE
                SYNTAX  TruthValue
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                        "Filter is set to not match any flows."
                ::= { extremeNetFlowPortFilterConfigEntry 18 }
    

END

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

-- ===================================================
--
-- Extreme Services
--

EXTREME-SERVICES-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE    FROM SNMPv2-SMI
        InetAddressType, InetAddress    FROM INET-ADDRESS-MIB
        extremeAgent                    FROM EXTREME-BASE-MIB
	TEXTUAL-CONVENTION 	FROM SNMPv2-TC
        TruthValue, RowStatus           FROM SNMPv2-TC;

        
        extremeServices MODULE-IDENTITY
                      LAST-UPDATED "0502230000Z"
                      ORGANIZATION "Extreme Networks, Inc."
                      CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Upper layer services objects"
        ::= { extremeAgent 26 }

	extremeSyslog OBJECT IDENTIFIER ::= {extremeServices 1} 
	extremeDNS OBJECT IDENTIFIER ::= {extremeServices 3} 
    extremeAuthServer   OBJECT IDENTIFIER ::= {extremeServices 4}

	AuthServerType ::= TEXTUAL-CONVENTION
	  STATUS	current
	  DESCRIPTION
		"The type of authentication/accounting server."
	  SYNTAX INTEGER { radius(1), radius-acct(2), tacacs(3), tacacs-acct(4) }

	AuthServerAccessType ::= TEXTUAL-CONVENTION
	  STATUS	current
	  DESCRIPTION
		"Specifies whether the server is for authenticating mangement or netlogin accesses"
	  SYNTAX INTEGER { mgmt-access(1), netlogin(2) }

        extremeRemoteSyslogServerTable      OBJECT-TYPE
            SYNTAX       SEQUENCE OF ExtremeRemoteSyslogServerEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION     
                "This table is used to configure remote syslog 
		servers and contains information on the same."
            ::= { extremeSyslog 1 }

        extremeRemoteSyslogServerEntry      OBJECT-TYPE
            SYNTAX              ExtremeRemoteSyslogServerEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION
                "An entry in the extremeRemoteSyslogServerTable."
            INDEX { extremeRemoteSyslogServerAddressType, 				     	     
	    	    extremeRemoteSyslogServerAddress,
                    extremeRemoteSyslogServerPort, 			                 
		    extremeRemoteSyslogServerFacility
                    }
            ::= { extremeRemoteSyslogServerTable 1 }

        ExtremeRemoteSyslogServerEntry ::= SEQUENCE {
                extremeRemoteSyslogServerAddressType InetAddressType,
                extremeRemoteSyslogServerAddress     InetAddress,
                extremeRemoteSyslogServerPort        INTEGER,
                extremeRemoteSyslogServerFacility    INTEGER,
                extremeRemoteSyslogServerSeverity    BITS,
                extremeRemoteSyslogServerStatus      RowStatus
        }
         
        extremeRemoteSyslogServerAddressType          OBJECT-TYPE
                SYNTAX                          InetAddressType
                MAX-ACCESS                      read-only
                STATUS                          current
                DESCRIPTION
                    "The type of address specified in the object 				
		    'extremeRemoteSyslogServerAddress'.
                    Currently, only 'ipv4' and 'dns' are supported."
                DEFVAL { ipv4 }
            ::= { extremeRemoteSyslogServerEntry 1 }

      extremeRemoteSyslogServerAddress           OBJECT-TYPE
                SYNTAX                  InetAddress (SIZE (1..255))
                MAX-ACCESS              read-only
                STATUS                  current
                DESCRIPTION
                    "The address of the remote syslog server. This 
		    can be a DNS name or an IPv4 address." 
                    
            ::= { extremeRemoteSyslogServerEntry 2 }

     extremeRemoteSyslogServerPort                    OBJECT-TYPE
                SYNTAX                          INTEGER (0..65535)
                MAX-ACCESS                      read-only
                STATUS                          current
                DESCRIPTION
                    "The UDP port number of the remote syslog server 				
		    to which syslog messages will
                    be sent."
            ::= { extremeRemoteSyslogServerEntry 3 }

      extremeRemoteSyslogServerFacility               OBJECT-TYPE
                SYNTAX                          INTEGER {
                                                local0(1),
                                                local1(2),
                                                local2(3),
                                                local3(4),
                                                local4(5),
                                                local5(6),
                                                local6(7),
                                                local7(8)
                                                }
                MAX-ACCESS                      read-only
                STATUS                          current
                DESCRIPTION
                    "The facility which will be sent in all syslog 				
		    messages to this remote syslog server."
            ::= { extremeRemoteSyslogServerEntry 4 }

      extremeRemoteSyslogServerSeverity               OBJECT-TYPE
            SYNTAX  BITS { 
				critical(0),
				error(1),
				warning(2),
				notice(3),
				info(4),
				debugSummary(5),
				debugVerbose(6),
				debugData(7)					
				}
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                    "The syslog message severity. All syslog messages of the specified severity for
                    which the Bits are set, will be sent to this syslog server. When setting this object
                    in a 'createAndGo' request, all lower bits upto and including the desired bit position
                    must be set. For example, if bit info(4) needs to be set then bits critical(0), 
                    error(1), warning(2), notice(3) and info(4) must also be set in the request. 
                    Consequently, all syslog messages of a given severity and higher will be sent to 
                    the syslog server. It is not possible to send messages that match only a few selected
                    non-contiguous severities."
                DEFVAL { {critical, error, warning, notice, info, debugSummary, debugVerbose, debugData} }
            ::= { extremeRemoteSyslogServerEntry 5 }

      extremeRemoteSyslogServerStatus               OBJECT-TYPE
                SYNTAX                          RowStatus
                MAX-ACCESS                      read-create
                STATUS                          current
                DESCRIPTION
                    "The status of the Row as per standard row  				
		    status conventions. Only 'createAndGo', 'active' and 
		    'destroy' will be supported. It is not possible
		    to change the values of the objects of a row 					
		    once it has been created, except by 'destroy'ing and 
		    re-creating the row."
                   
            ::= { extremeRemoteSyslogServerEntry 6 }

        extremeEnableRemoteSyslog OBJECT-TYPE
                SYNTAX TruthValue
        	MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "The enable/disable status of remote syslog messages."
	::= { extremeSyslog 2 }

extremeDNSServerTable      OBJECT-TYPE
        SYNTAX              SEQUENCE OF ExtremeDNSServerEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION     
            "This table is used to configure DNS servers. There can be at most two
             rows in this table."
      ::= { extremeDNS 1 }

extremeDNSServerEntry      OBJECT-TYPE
        SYNTAX              ExtremeDNSServerEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "An entry in the extremeDNSServerTable."
        INDEX { extremeDNSServerAddressIndex
              }
     ::= { extremeDNSServerTable 1 }

ExtremeDNSServerEntry ::= SEQUENCE {
                extremeDNSServerAddressIndex    INTEGER,
                extremeDNSServerAddressType     InetAddressType,
                extremeDNSServerAddress         InetAddress
        }

      extremeDNSServerAddressIndex              OBJECT-TYPE
        SYNTAX          INTEGER(1..2)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This is an integer index. Only 1 and 2 are supported for this"
            ::= { extremeDNSServerEntry 1 }

      extremeDNSServerAddressType                OBJECT-TYPE
                SYNTAX                       InetAddressType 
                MAX-ACCESS                   read-only
                STATUS                       current
                DESCRIPTION
                    "The address type of the DNS server. This can be a DNS name or
                    an IPv4 address."

            ::= { extremeDNSServerEntry 2 }

      extremeDNSServerAddress                OBJECT-TYPE
                SYNTAX                       InetAddress (SIZE (1..255))
                MAX-ACCESS                   read-only
                STATUS                       current
                DESCRIPTION
                    "The address of the DNS server. This can be a DNS name or
                    an IPv4 address."

            ::= { extremeDNSServerEntry 3 }

extremeAuthServerEnableTable OBJECT-TYPE
      SYNTAX     SEQUENCE OF ExtremeAuthServerEnableEntry
      MAX-ACCESS not-accessible
      STATUS     current 
      DESCRIPTION
         "This table is used to enable/disable Auth servers"
   ::=   { extremeAuthServer 1 }

extremeAuthServerEnableEntry   OBJECT-TYPE
        SYNTAX                 ExtremeAuthServerEnableEntry
        MAX-ACCESS             not-accessible
        STATUS                 current
        DESCRIPTION
            "An entry in the extremeAuthServerEnableTable."
        INDEX { extremeAuthServerEnableServerType,
                extremeAuthServerEnableAccessType }
     ::= { extremeAuthServerEnableTable 1 }

ExtremeAuthServerEnableEntry ::= SEQUENCE {
        extremeAuthServerEnableServerType    AuthServerType,
        extremeAuthServerEnableAccessType    AuthServerAccessType,
        extremeAuthServerEnable              TruthValue }

extremeAuthServerEnableServerType OBJECT-TYPE
	SYNTAX		AuthServerType
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"Specifies whether this is a radius/radius-acct/tacacs/tacacs-acct server"
	::= { extremeAuthServerEnableEntry 1 }

extremeAuthServerEnableAccessType OBJECT-TYPE
	SYNTAX		AuthServerAccessType
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"Specifies whether this server is for management access or netlogin access."
	::= { extremeAuthServerEnableEntry 2 }

extremeAuthServerEnable OBJECT-TYPE
  SYNTAX  TruthValue
  MAX-ACCESS  read-write
  STATUS current
  DESCRIPTION
  "Enable/Disable the Radius/tacas Server"
  DEFVAL { false }
 ::= { extremeAuthServerEnableEntry 3 }

extremeAuthServerTable      OBJECT-TYPE
        SYNTAX              SEQUENCE OF ExtremeAuthServerEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION     
            "This table is used to configure radius/tacacs servers."
      ::= { extremeAuthServer 2 }

extremeAuthServerEntry      OBJECT-TYPE
        SYNTAX              ExtremeAuthServerEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "An entry in the extremeAuthServerTable."
        INDEX { extremeAuthServerIndex
              }
     ::= { extremeAuthServerTable 1 }

ExtremeAuthServerEntry ::= SEQUENCE {
        extremeAuthServerIndex    INTEGER,
        extremeAuthServerAddressType     InetAddressType,
        extremeAuthServerAddress         InetAddress,
	extremeAuthServerClientAddressType InetAddressType,
	extremeAuthServerClientAddress	InetAddress,
	extremeAuthServerPort 		INTEGER,
	extremeAuthServerSecret 	OCTET STRING,
	extremeAuthServerReTransmit	INTEGER,
	extremeAuthServerType		 AuthServerType,
	extremeAuthServerIsPrimary	TruthValue,
	extremeAuthServerAccessType	AuthServerAccessType,
	extremeAuthServerStatus		RowStatus}

extremeAuthServerIndex OBJECT-TYPE
	SYNTAX		INTEGER(1..8)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"Integer index of the server."
	::= { extremeAuthServerEntry 1 }

extremeAuthServerAddressType OBJECT-TYPE
	SYNTAX		InetAddressType
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Type IP address of the radius/tacas server. "
	::= { extremeAuthServerEntry 2 }

extremeAuthServerAddress OBJECT-TYPE
	SYNTAX		InetAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"IP address of the radius/tacas server."
	::= { extremeAuthServerEntry 3 }

extremeAuthServerClientAddressType OBJECT-TYPE
	SYNTAX		InetAddressType
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Type of IP address to use as the SRC address when
		 contacting the the radius/tacas server. The radius/tacas server
		 should be configured with this address as one of its
		 clients. The switch should have a VLAN with this IP
		 address."
	::= { extremeAuthServerEntry 4 }

extremeAuthServerClientAddress OBJECT-TYPE
	SYNTAX		InetAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"IP address to use as the SRC address when contacting the
		 the radius/tacas server. The radius/tacas server should be
                 configured with this address as one of its clients. The 
                 switch should have a VLAN with this IP address."
	::= { extremeAuthServerEntry 5 }

extremeAuthServerPort OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Port number of the radius/tacas server."
	::= { extremeAuthServerEntry 6 }

extremeAuthServerSecret OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the shared secret between the Authenticator
		 and radius/tacas server.  This is logically write-only."
	::= { extremeAuthServerEntry 7 }

extremeAuthServerReTransmit OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the timeout in seconds after which the 
		 Authenticator will re transmit requests to the
		 radius/tacas server."
	::= { extremeAuthServerEntry 8 }

extremeAuthServerType OBJECT-TYPE
	SYNTAX		AuthServerType
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Specifies whether this is a radius/radius-acct/tacacs/tacacs-acct server"
	::= { extremeAuthServerEntry 9 }

extremeAuthServerIsPrimary OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Specifies whether this is the primary or the
		secondary server. Is TRUE if the server is primary."
	::= { extremeAuthServerEntry 10 }

extremeAuthServerAccessType OBJECT-TYPE
	SYNTAX		AuthServerAccessType
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Specifies whether this server is for management access or netlogin access"
	::= { extremeAuthServerEntry 11 }

extremeAuthServerStatus               OBJECT-TYPE
          SYNTAX                          RowStatus
          MAX-ACCESS                      read-create
          STATUS                          current
          DESCRIPTION
                    "The status of the Row as per standard row  				
		    status conventions. Only 'createAndGo', 'active' and 
		    'destroy' will be supported. It is not possible
		    to change the values of the objects of a row 					
		    once it has been created, except by 'destroy'ing and 
		    re-creating the row."
                   
            ::= { extremeAuthServerEntry 12 }

END

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

EXTREME-SLB-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY        FROM SNMPv2-SMI
        OBJECT-TYPE        FROM SNMPv2-SMI
        IpAddress        FROM SNMPv2-SMI
        TruthValue        FROM SNMPv2-TC
        extremeAgent        FROM EXTREME-BASE-MIB;


    extremeSlb MODULE-IDENTITY
        LAST-UPDATED "0003080000Z"
        ORGANIZATION "Extreme Networks, Inc."
        CONTACT-INFO "www.extremenetworks.com"
        DESCRIPTION "Extreme Server Load Balancing information"
    ::= { extremeAgent 14 }


    extremeSlbRealServerTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeSlbRealServerEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains information about a real server.
            It currently indicates only whether the server is up."
        ::= { extremeSlb 1 }

    extremeSlbRealServerEntry    OBJECT-TYPE
        SYNTAX    ExtremeSlbRealServerEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of real server information."
        INDEX {extremeSlbRealServerIpAddress}
        ::= {extremeSlbRealServerTable 1}

    ExtremeSlbRealServerEntry ::= SEQUENCE {
        extremeSlbRealServerIpAddress    IpAddress,
        extremeSlbRealServerUp        TruthValue
    }

    extremeSlbRealServerIpAddress    OBJECT-TYPE
        SYNTAX    IpAddress
        MAX-ACCESS     not-accessible
        STATUS    current
        DESCRIPTION
            "The IP address of the real server."
        ::= { extremeSlbRealServerEntry 1 }

    extremeSlbRealServerUp        OBJECT-TYPE
        SYNTAX    TruthValue
        MAX-ACCESS    read-write
        STATUS    current
        DESCRIPTION
            "Indicates whether the server is operational.
            If the server is up, the load balancer may send
            traffic to applications on the server.  If the
            server is not up, the load balancer will send no
            traffic to the server.  This status may be written
            by an external device that knows the state of the
            server."
        ::= { extremeSlbRealServerEntry 2 }


    extremeSlbRealAppTable        OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeSlbRealAppEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table contains information about an application
            on a particular TCP or UDP port of a real server.
            It currently indicates only whether the application is
            up."
        ::= { extremeSlb 2 }

    extremeSlbRealAppEntry        OBJECT-TYPE
        SYNTAX    ExtremeSlbRealAppEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An entry in the table of real server application information."
        INDEX {extremeSlbRealAppIpAddress,
               extremeSlbRealAppPort}
        ::= {extremeSlbRealAppTable 1}

    ExtremeSlbRealAppEntry ::= SEQUENCE {
        extremeSlbRealAppIpAddress    IpAddress,
        extremeSlbRealAppPort        INTEGER (0..65535),
        extremeSlbRealAppUp        TruthValue
    }

    extremeSlbRealAppIpAddress    OBJECT-TYPE
        SYNTAX    IpAddress
        MAX-ACCESS     not-accessible
        STATUS    current
        DESCRIPTION
            "The IP address of the real server."
        ::= { extremeSlbRealAppEntry 1 }

    extremeSlbRealAppPort        OBJECT-TYPE
        SYNTAX    INTEGER (0..65535)
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "The TCP or UDP port on the real server that the
            application is using."
        ::= { extremeSlbRealAppEntry 2 }

    extremeSlbRealAppUp        OBJECT-TYPE
        SYNTAX    TruthValue
        MAX-ACCESS    read-write
        STATUS    current
        DESCRIPTION
            "Indicates whether the application is operational.
            If the application is up, the load balancer may
            send traffic to it.  If the application is not up,
            the load balancer will send no traffic to it, but
            the load balancer may send traffic to other
            applications on the same server."
        ::= { extremeSlbRealAppEntry 3 }

END

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





EXTREME-STACKING-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
		OBJECT-TYPE     FROM SNMPv2-SMI
		NOTIFICATION-TYPE FROM SNMPv2-SMI
		Unsigned32	FROM SNMPv2-SMI
		IpAddress         FROM SNMPv2-SMI
                MacAddress, DateAndTime FROM SNMPv2-TC
		sysUpTime, sysDescr, ifIndex, DisplayString   FROM RFC1213-MIB
		TruthValue	FROM SNMPv2-TC
                extremeAgent    FROM EXTREME-BASE-MIB
		extremeCurrentTemperature	FROM EXTREME-SYSTEM-MIB;

        extremeStackable MODULE-IDENTITY
                LAST-UPDATED "201410131030Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Stackable MIB objects"

                REVISION "201410131030Z" -- Mon Oct 13 10:30 UTC 2014
                DESCRIPTION "Added table objects for current image booted and
                             switch boot time."

                REVISION "200409270915Z" -- Mon Sept 27 09:15 UTC 2004
                DESCRIPTION "Initial version."
        ::= { extremeAgent 33 }

-- 
-- Stack Detection Scalar 
--
	extremeStackDetection OBJECT-TYPE
             SYNTAX TruthValue
	     MAX-ACCESS	read-write
	     STATUS current
	     DESCRIPTION
		"This field provides the information as to whether the stacking
             is enabled (True) or disabled (False) for the system. The stacking
	     feature is supported from extremeware version 7.4 and above"
		    ::= { extremeStackable 1 }

--
--	StackMember Table
--

	extremeStackMemberTable OBJECT-TYPE
             SYNTAX SEQUENCE OF ExtremeStackMemberEntry
	     MAX-ACCESS	not-accessible
	     STATUS current
	     DESCRIPTION
		"A table containing information about each stack member that are
             a part of this stacking. If extremeStackDetection is not enabled,
             we wouldnt not have any rows for this table."
		    ::= { extremeStackable 2 }

	extremeStackMemberEntry OBJECT-TYPE
	     SYNTAX ExtremeStackMemberEntry
	     MAX-ACCESS not-accessible
	     STATUS current
	     DESCRIPTION
		"Entry in the table for a StackMember Entity"
	     INDEX	{ extremeStackMemberSlotId }
	     	    ::= { extremeStackMemberTable 1 }

	ExtremeStackMemberEntry ::= SEQUENCE {
	     extremeStackMemberSlotId		INTEGER,
	     extremeStackMemberType	        OBJECT IDENTIFIER,	
	     extremeStackMemberOperStatus	INTEGER,
	     extremeStackMemberRole		INTEGER,
	     extremeStackMemberEntPhysicalIndex INTEGER,
	     extremeStackMemberMACAddress       MacAddress,	
	     extremeStackMemberCurImageVersion  DisplayString,
	     extremeStackMemberPriImageVersion  DisplayString,
	     extremeStackMemberSecImageVersion  DisplayString,
	     extremeStackMemberBootRomVersion   DisplayString,
	     extremeStackMemberCurConfig	DisplayString,
	     extremeStackMemberConfigSelected	INTEGER,
	     extremeStackMemberImageSelected	INTEGER,
	     extremeStackMemberStackPriority	INTEGER,
	     extremeStackMemberMgmtIpAddress	IpAddress,
	     extremeStackMemberSysLocation      DisplayString,
             extremeStackMemberAutoConfig	TruthValue, 	  
	     extremeStackMemberStackStatus	INTEGER,
	     extremeStackMemberImageBooted      INTEGER,
	     extremeStackMemberBootTime         DateAndTime
	}

	extremeStackMemberSlotId OBJECT-TYPE
	     SYNTAX INTEGER(1..8)
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The slot id of the stack member in the stack"
	     	   ::= { extremeStackMemberEntry 1 }

	extremeStackMemberType OBJECT-TYPE
	     SYNTAX OBJECT IDENTIFIER
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The type of device of the stack member. This field reflects
 	    the individual sysOid of the member"
	     	   ::= { extremeStackMemberEntry 2 }

	extremeStackMemberOperStatus OBJECT-TYPE
	     SYNTAX INTEGER {
		up (1),
		down(2),
		mismatch (3)
	     }
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The operational status of the stack member. When the stack 
	comes up, if there is a vector mismatch namely license mismatch or
	platform mismatch between the master and the member, the member
	remains in the mismatch state. Further communication with the member
	is not possible"
	     	   ::= { extremeStackMemberEntry 3 }

	extremeStackMemberRole OBJECT-TYPE
	     SYNTAX INTEGER {
		master (1),
		slave  (2),
		backup (3)
	     }
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The role of the stack member as to whether it is acting as a
	master,backup or a slave"
	     	   ::= { extremeStackMemberEntry 4 }

	extremeStackMemberEntPhysicalIndex OBJECT-TYPE
	     SYNTAX INTEGER 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The entPhysicalIndex of the corresponding device as defined
	in the ENTITY-MIB"
	     	   ::= { extremeStackMemberEntry 5 }

	extremeStackMemberMACAddress OBJECT-TYPE
	     SYNTAX MacAddress 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The Mac address of the stack member"
	     	   ::= { extremeStackMemberEntry 6 }

	extremeStackMemberCurImageVersion OBJECT-TYPE
	     SYNTAX DisplayString (SIZE(0..255)) 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The current image version of the stack member"
	     	   ::= { extremeStackMemberEntry 7 }

	extremeStackMemberPriImageVersion OBJECT-TYPE
	     SYNTAX DisplayString (SIZE(0..255)) 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The primary image version of the stack member"
	     	   ::= { extremeStackMemberEntry 8 }

	extremeStackMemberSecImageVersion OBJECT-TYPE
	     SYNTAX DisplayString (SIZE(0..255)) 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The secondary image version of the stack member"
	     	   ::= { extremeStackMemberEntry 9 }

	extremeStackMemberBootRomVersion OBJECT-TYPE
	     SYNTAX DisplayString (SIZE(0..255)) 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The boot rom version of the stack member"
	     	   ::= { extremeStackMemberEntry 10 }

	extremeStackMemberCurConfig OBJECT-TYPE
	     SYNTAX DisplayString (SIZE(0..255)) 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The current configuration of the stack member"
	     	   ::= { extremeStackMemberEntry 11 }

	extremeStackMemberConfigSelected OBJECT-TYPE
	     SYNTAX INTEGER {
		primary   (1),
		secondary (2),
		other     (3)
	     }
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The config selected to be used on reboot for the stack member"
	     	   ::= { extremeStackMemberEntry 12 }

	extremeStackMemberImageSelected OBJECT-TYPE
	     SYNTAX INTEGER {
		primary   (1),
		secondary (2)
	     }
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The  image selected to be used on reboot for the stack member"
	     	   ::= { extremeStackMemberEntry 13 }

	extremeStackMemberStackPriority OBJECT-TYPE
	     SYNTAX INTEGER 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The stack priority of the stack member. The stack priority is
	used for the master election algorithm. The member with the highest 
	priority comes up as the master. If there are more than one switch with
	highest priority, the member with the least MAC among them comes up as
	the master"
	     	   ::= { extremeStackMemberEntry 14 }

	extremeStackMemberMgmtIpAddress OBJECT-TYPE
	     SYNTAX IpAddress 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The fallback mgmt ip address which was configured through CLI
	for this stack member. This ipaddress can be used to communicate with 
	this member, if it comes up as the master. The ipaddress is associated
	with the vlan configured"
	     	   ::= { extremeStackMemberEntry 15 }

	extremeStackMemberSysLocation OBJECT-TYPE
	      SYNTAX      DisplayString (SIZE (0..255))
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                  "The physical location of this node (e.g., `telephone
        closet, 3rd floor').  If the location is unknown, the value
        is the zero-length string."
	     	   ::= { extremeStackMemberEntry 16 }

	extremeStackMemberAutoConfig OBJECT-TYPE
	     SYNTAX TruthValue
	     MAX-ACCESS read-only
	     STATUS 	current
	     DESCRIPTION
		   " This field provides the information whether the config
	of the stack member is autogenerated(true) or not(false)" 
	     	   ::= { extremeStackMemberEntry 17 }
			

	extremeStackMemberStackStatus OBJECT-TYPE
	     SYNTAX INTEGER {
		enable  (1),
		disable (2)
	     } 
	     MAX-ACCESS read-write
	     STATUS current
	     DESCRIPTION
		"This status is used for disabling the stacking feature for
	the stack member. If stacking is enabled for the stack member we get
	the information as enable, if we mark it as disable, the stack member
	is removed from the stack and the corresponding row disappears"
	     	   ::= { extremeStackMemberEntry 18 }

        extremeStackMemberImageBooted OBJECT-TYPE
             SYNTAX INTEGER { primary(1), secondary(2) }
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                "The image with which the stack member was last booted, which it is currently running."
                   ::= { extremeStackMemberEntry 19 }

        extremeStackMemberBootTime OBJECT-TYPE
             SYNTAX  DateAndTime
             MAX-ACCESS read-only
             STATUS      current
             DESCRIPTION
                "The date and time when the switch was last booted."
                   ::= { extremeStackMemberEntry 20 }

--
--  	Stacking Port Table
--
	extremeStackingPortTable OBJECT-TYPE
             SYNTAX SEQUENCE OF ExtremeStackingPortEntry
	     MAX-ACCESS	not-accessible
	     STATUS current
	     DESCRIPTION
		"A table containing information about each stacking port
	in the stack. If extremeStackDetection is not enabled, we would not
	have any rows for this table"
		    ::= { extremeStackable 3 }

	extremeStackingPortEntry OBJECT-TYPE
	     SYNTAX ExtremeStackingPortEntry
	     MAX-ACCESS not-accessible
	     STATUS current
	     DESCRIPTION
		"Entry in the table for each stacking port in the stack"
	     INDEX	{ extremeStackingPortIfIndex }
	     	    ::= { extremeStackingPortTable 1 }

	ExtremeStackingPortEntry ::= SEQUENCE {
	     extremeStackingPortIfIndex		INTEGER,
	     extremeStackingPortRemoteMac       MacAddress,
	     extremeStackingPortLinkSpeed	Unsigned32,
	     extremeStackingPortLinkStatus	INTEGER
	}

          extremeStackingPortIfIndex OBJECT-TYPE
              SYNTAX  INTEGER(1..65535)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "A unique value for each interface.  Its value
                      ranges between 1 and the value of ifNumber.  The
                      value for each interface must remain constant at
                      least from one re-initialization of the entity's
                      network management system to the next re-
                      initialization."
	     	   ::= { extremeStackingPortEntry 1 }

	extremeStackingPortRemoteMac OBJECT-TYPE
	     SYNTAX MacAddress 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The Mac address of the remote system, this stacking port 
	is connected to. The value of the mac address will be 00:00:00:00:00:00
	if the stacking link is not active."
	     	   ::= { extremeStackingPortEntry 2 }

	extremeStackingPortLinkSpeed OBJECT-TYPE
	     SYNTAX Unsigned32 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The Speed of the stacking port link in bps. The speed will be
	zero if the link is not up"
	     	   ::= { extremeStackingPortEntry 3 }

	extremeStackingPortLinkStatus OBJECT-TYPE
	     SYNTAX INTEGER {
		up (1),
		down  (2) 
	    } 
	     MAX-ACCESS read-only
	     STATUS current
	     DESCRIPTION
		"The Link status of the stacking port link "
	     	   ::= { extremeStackingPortEntry 4 }


    extremeStackableTraps     OBJECT IDENTIFIER
		    ::= { extremeStackable 4 }

	extremeStackTrapsPrefix     OBJECT IDENTIFIER
            ::= { extremeStackableTraps 0 }

    extremeStackMemberOverheat NOTIFICATION-TYPE
            OBJECTS {sysUpTime, sysDescr, extremeCurrentTemperature,
			extremeStackMemberSlotId}
            STATUS  current
            DESCRIPTION
                    "The extremeStackMemberOverheat notification is generated
                     when the temperature of the stack member reaches the 
		threshold temperature"
                ::= { extremeStackTrapsPrefix 1 }

    extremeStackMemberStatusChanged NOTIFICATION-TYPE
            OBJECTS { extremeStackMemberSlotId, extremeStackMemberOperStatus}
            STATUS  current
            DESCRIPTION
                    "The extremeStackMemberStatusChanged notification is 
		generated when the operational status of the stack member 
		changes"
                ::= { extremeStackTrapsPrefix 2 }

    extremeStackingPortStatusChanged NOTIFICATION-TYPE
            OBJECTS { ifIndex, extremeStackingPortRemoteMac,
		extremeStackingPortLinkSpeed, extremeStackingPortLinkStatus}
            STATUS  current
            DESCRIPTION
                    "The extremeStackingPortStatusChanged notification is 
		generated when the operational status of the stacking port 
		changes"
                ::= { extremeStackTrapsPrefix 3 }


END	


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

EXTREME-TRAP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
	enterprises FROM RFC1155-SMI 	
		extremeSlotNumber		FROM EXTREME-SYSTEM-MIB
		extremeSlotModuleConfiguredType	FROM EXTREME-SYSTEM-MIB
		extremeSlotModuleInsertedType	FROM EXTREME-SYSTEM-MIB
		extremeSlotModuleState		FROM EXTREME-SYSTEM-MIB
        extremePowerSupplyNumber, extremeFanNumber
					 	FROM EXTREME-SYSTEM-MIB	
		extremeCurrentTemperature	FROM EXTREME-SYSTEM-MIB	
        extremeEsrpGroup, extremeEsrpState,
		extremeEsrpNetAddress  FROM EXTREME-ESRP-MIB
        extremeEsrpActivePorts, extremeEsrpInternalActivePorts
						FROM EXTREME-ESRP-MIB
        extremeEsrpTrackedActivePorts, extremeEsrpTrackedIpRoutes
						FROM EXTREME-ESRP-MIB
        extremeVlanIfIndex, extremeVlanIfDescr FROM EXTREME-VLAN-MIB
		extremeEdpPortIfIndex, extremeEdpNeighborId,
		extremeEdpEntryAge, extremeEdpNeighborVlanName,
		extremeEdpNeighborVlanIpAddress	       FROM EXTREME-EDP-MIB
		sysUpTime, sysDescr, ifPhysAddress,
                ifDescr                                FROM RFC1213-MIB
                ifAlias                                FROM IF-MIB
                NOTIFICATION-TYPE		       FROM SNMPv2-SMI;

	          
	extremenetworks           OBJECT IDENTIFIER ::=  { enterprises 1916 }
	 extremeV1Traps            OBJECT IDENTIFIER ::= { extremenetworks 0 }

          extremeOverheat NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeCurrentTemperature }
	      STATUS current
              DESCRIPTION
                          "A overheat trap indicates that the on board
                          tempature sensor has reported a overheat 
                          condition.  System will shutdown until unit has
			  suficiently cooled such that operation may begin
                          again.  A cold start trap will be issued when
                          the unit has come back on line."
              ::= {extremeV1Traps 6} 

          extremeFanfailed NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeFanNumber }
	      STATUS current
              DESCRIPTION
                          "A fan failed trap indicates one or more of the
                          cooling fans inside the device has failed.  A
                          fanOK trap will be sent once the fan has attained
                          normal operation."
              ::= {extremeV1Traps 7}

          extremeFanOK NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeFanNumber }
	      STATUS current
              DESCRIPTION
                          "A fan has transitioned out of a failure state and
                          is now operating correctly."
              ::= {extremeV1Traps 8} 

          extremeInvalidLoginAttempt NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr }
	      STATUS current
              DESCRIPTION
                "A user attempted to login to console or by telnet but was
                 refused access due to incorrect username or password"
              ::= {extremeV1Traps 9} 

          extremePowerSupplyFail NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremePowerSupplyNumber }
	      STATUS current
              DESCRIPTION
                "One or more sources of power to this agent has failed.
                 Presumably a redundant power-supply has taken over."
              ::= {extremeV1Traps 10} 

          extremePowerSupplyGood NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremePowerSupplyNumber }
	      STATUS current
              DESCRIPTION
                 "One or more previously bad sources of power to this agent 
                 has come back to life without causing an agent restart."
              ::= {extremeV1Traps 11} 

          extremeRpsAlarm NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr }
	      STATUS current
              DESCRIPTION
                          "Attached Redundant Power Supply device is indicating
                           an alarm condition."
              ::= {extremeV1Traps 12} 

          extremeRpsNoAlarm NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr }
	      STATUS current
              DESCRIPTION
                          "Attached Redundant Power Supply device is no longer
                           indicating an alarm condition."
              ::= {extremeV1Traps 13} 

--
-- SmartTrap definition
--
        extremeSmartTrap NOTIFICATION-TYPE
                OBJECTS   { sysUpTime, sysDescr }
	        STATUS current
        	DESCRIPTION
                "Signifies that the value of one of the object identifiers 
                (or the value of an object below that in the MIB tree) 
                defined in the extremeSmartTrapRulesTable has changed, 
                and hence a new entry has been created in the 
                extremeSmartTrapInstanceTable. Such a trap is sent 
                at most once every thirty seconds if one or more entry 
                was created in the last thirty seconds." 
              ::= {extremeV1Traps 14} 

--
-- Traps for Black Diamond
--
	extremeModuleStateChanged NOTIFICATION-TYPE
		OBJECTS { sysUpTime, extremeSlotNumber, 
                            extremeSlotModuleConfiguredType, 
                            extremeSlotModuleInsertedType, 
                            extremeSlotModuleState }
	        STATUS current
		DESCRIPTION
		"Signifies that the value of the extremeSlotModuleState for 
		the specified extremeSlotNumber has changed."
              ::= {extremeV1Traps 15} 

--	extremeModuleOverheat TRAP-TYPE
--		ENTERPRISE  extremenetworks
--		VARIABLES {sysUpTime, extremeSlotNumber }
--		DESCRIPTION
--		"Signifies that the temperature sensor on the module 
--		inside this slot has reported an Overheat condition."
--	::= 16

	extremeEsrpStateChange NOTIFICATION-TYPE
        	OBJECTS {sysUpTime, sysDescr, extremeVlanIfIndex,
			extremeVlanIfDescr, extremeEsrpGroup, extremeEsrpState,
			extremeEsrpNetAddress, ifPhysAddress,
                        extremeEsrpActivePorts, extremeEsrpInternalActivePorts,
                        extremeEsrpTrackedActivePorts, extremeEsrpTrackedIpRoutes
                }
		STATUS current
        DESCRIPTION
        "Signifies Esrp state change"
        ::= {extremeV1Traps 17}

        extremeSlbUnitAdded NOTIFICATION-TYPE
		STATUS current
                DESCRIPTION
                "The server load balancer has activated a group of virtual
                servers that it normally would not activate.  This may be
                due to the failure of another server load balancer."
                
        ::= {extremeV1Traps 18}

        extremeSlbUnitRemoved NOTIFICATION-TYPE
		STATUS current
                DESCRIPTION
                "The server load balancer has deactivated a group of virtual
                servers that it normally has active.  This indicates that
                something is wrong in the server load balancer; for example,
                its ping check may be failing."
        ::= {extremeV1Traps 19}

	extremeEdpNeighborAdded NOTIFICATION-TYPE
        	OBJECTS {sysUpTime, extremeEdpPortIfIndex,
			extremeEdpNeighborId, extremeEdpEntryAge,
			ifAlias, ifDescr
                }
	STATUS current
        DESCRIPTION
        "This node discovers a new neighbor through Extreme Discovery
	 Protocol."
        ::= {extremeV1Traps 20}

	extremeEdpNeighborRemoved NOTIFICATION-TYPE
        	OBJECTS {sysUpTime, extremeEdpPortIfIndex,
			extremeEdpNeighborId, extremeEdpEntryAge,
			ifAlias, ifDescr
                }
	STATUS current
        DESCRIPTION
        "No EDP updates are received from this neighbor within
	the configured timeout period and this neighbor entry is aged
	out by the device."
        ::= {extremeV1Traps 21}

    extremeCpuHealthCheckFailed NOTIFICATION-TYPE
            OBJECTS {sysUpTime, sysDescr, extremeSlotNumber }
            STATUS current
            DESCRIPTION
            "Cpu HealthCheck has failed.
             This trap is supported only in ExtremeWare."
            ::= {extremeV1Traps 22}
        
END

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

EXTREME-VC-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        ifIndex         FROM RFC1213-MIB
                extremeAgent    FROM EXTREME-BASE-MIB;

        extremeVC MODULE-IDENTITY
                LAST-UPDATED "9801090000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Virtual Chassis objects"
        ::= { extremeAgent 5 }

--
-- Virtual Chassis Link Table
-- 

        extremeVCLinkTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ExtremeVCLinkEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "A table of information about any neighbouring
                       Extreme Virtual Chassis device. Only contains 
                       valid data for ports that are configured to 
                       have extremePortSummitlinkAdminMode set to
                       summitlinkOnly have an active link or 
               have had an active link since the last time 
               they were configured in Summitlink mode."
    ::= { extremeVC 1 }

    extremeVCLinkEntry OBJECT-TYPE
        SYNTAX  ExtremeVCLinkEntry
        MAX-ACCESS  not-accessible
        STATUS deprecated
        DESCRIPTION
                      "Neighbour information for a single Summitlink
                       Port."
                INDEX { ifIndex }
    ::= { extremeVCLinkTable 1 }

        ExtremeVCLinkEntry ::=  SEQUENCE {
        extremeVCLinkValid     TruthValue,
                extremeVCLinkDeviceId  INTEGER,
                extremeVCLinkPortIndex INTEGER
        } 

        extremeVCLinkValid OBJECT-TYPE 
                SYNTAX TruthValue
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "Flag indicating whether other columns of this
                      table contain data."
    ::= { extremeVCLinkEntry 1 }

        extremeVCLinkDeviceId OBJECT-TYPE 
                SYNTAX INTEGER
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "ID of the current SummitVC device
                        connected to this Summitlink port."
    ::= { extremeVCLinkEntry 2 }

        extremeVCLinkPortIndex OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS  read-only
                STATUS deprecated
                DESCRIPTION
                      "The Summitlink subchannel number that the Summit 
                        device on the other side of the neighbouring 
                        SummitVC will use to reach this device."
    ::= { extremeVCLinkEntry 3 }
END

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

EXTREME-WIRELESS-MIB DEFINITIONS ::= BEGIN

	IMPORTS 
		ifIndex			FROM IF-MIB
		InterfaceIndex          FROM IF-MIB
        MODULE-IDENTITY 	FROM SNMPv2-SMI
		OBJECT-TYPE     	FROM SNMPv2-SMI
		NOTIFICATION-TYPE	FROM SNMPv2-SMI
		RowStatus		FROM SNMPv2-TC
        Unsigned32		FROM SNMPv2-SMI
		IpAddress		FROM SNMPv2-SMI
		TimeTicks		FROM SNMPv2-SMI
		Counter32 		FROM SNMPv2-SMI
        Counter64 		FROM SNMPv2-SMI
        Integer32               FROM SNMPv2-SMI
        TruthValue     	FROM SNMPv2-TC
		MacAddress		FROM SNMPv2-TC
		DisplayString  	FROM RFC1213-MIB
        extremeAgent   	FROM EXTREME-BASE-MIB
        ExtremeDeviceId     FROM EXTREME-BASE-MIB
		extremeV2Traps		FROM EXTREME-BASE-MIB
        ClientAuthType          FROM EXTREME-BASE-MIB
		WPACipherSet 		FROM EXTREME-BASE-MIB
		WPAKeyMgmtSet 		FROM EXTREME-BASE-MIB
        WirelessRemoteConnectBindingType FROM EXTREME-BASE-MIB
		InetAddressType		FROM INET-ADDRESS-MIB
		InetAddress    		FROM INET-ADDRESS-MIB
		extremeAP		FROM EXTREME-BASE-MIB
		extremeLAC		FROM EXTREME-BASE-MIB
		TEXTUAL-CONVENTION	FROM SNMPv2-TC;

        extremeWireless MODULE-IDENTITY
                LAST-UPDATED "0211230000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Wireless Access Tables"
        ::= { extremeAgent 25 }

	extremeAPTraps 		OBJECT IDENTIFIER ::= { extremeV2Traps 5 }
	extremeAPTrapsPrefix 	OBJECT IDENTIFIER ::= { extremeAPTraps 0 }
	extremeLACGeneral 	OBJECT IDENTIFIER ::= { extremeLAC 1 }
	extremeProfile 		OBJECT IDENTIFIER ::= { extremeLAC 2 }


-- *************************************************************** --
-- *************************************************************** --
Dot11Type ::= TEXTUAL-CONVENTION
	  STATUS	current
	  DESCRIPTION
		"The current standard supports A, B, G interfaces."
	  SYNTAX INTEGER { a(1), b(2), g(3), bg(4) }

Dot11Speed ::= TEXTUAL-CONVENTION
	  STATUS	current
	  DESCRIPTION   "Specifies the speed in Mbps to use for the interface. A value of 0 indicates auto."
	SYNTAX BITS { 	speed1(0),
			speed2(1),
			speed5(2),
			speed11(3),
			speed6(4),
			speed9(5),
			speed12(6),
			speed18(7),
			speed24(8),
			speed36(9),
			speed48(10),
			speed54(11)}

-- Added for DFS support. To be used for listing channels on 
-- which Radar interference was detected.
Dot11AChannel ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION "Specifies the channel number for 802.11A interface."
    SYNTAX BITS { 
            channel36(0),
            channel40(1),
            channel44(2),
            channel52(3),
            channel56(4),
            channel60(5),
            channel64(6),
            channel100(7),
            channel104(8),
            channel108(9),
            channel112(10),
            channel116(11),
            channel120(12),
            channel124(13),
            channel128(14),
            channel132(15),
            channel140(16)
            }

Dot11AuthMode ::= TEXTUAL-CONVENTION
	STATUS     current
	DESCRIPTION "Specifies the allowed authentication type."
	SYNTAX		INTEGER { open(0), shared(1)}

NetworkAuthMode ::= TEXTUAL-CONVENTION
	STATUS     current
	DESCRIPTION "Specifies the allowed authentication type."
	SYNTAX		INTEGER { none(0), webNetlogin(1), macRadius(2), wpaPlusLegacy(3), wpaOnly(4), wpa2PlusWPA(5), wpa2Only(6)}

ExtremeWirelessCountryCode ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION "Specifies the country code the AP operates in."
    SYNTAX INTEGER { 
                        unitedStates(840),
                        japan(392),
                        taiwan(158),
                        newZealand(554),
                        albania              ( 8),       
                        algeria              ( 12),      
                        argentina            ( 32),      
                        armenia              ( 51),      
                        australia            ( 36),      
                        austria              ( 40),      
                        azerbaijan           ( 31),      
                        bahrain              ( 48),      
                        belarus              ( 112),     
                        belgium              ( 56),      
                        belize               ( 84),      
                        bolivia              ( 68),      
                        brazil               ( 76),      
                        bruneiDarussalam    ( 96),      
                        bulgaria             ( 100),     
                        canada               ( 124),     
                        chile                ( 152),     
                        china                ( 156),     
                        colombia             ( 170),     
                        costaRica           ( 188),     
                        croatia              ( 191),     
                        cyprus               ( 196),
                        czech                ( 203),     
                        denmark              ( 208),     
                        dominicanRepublic   ( 214),     
                        ecuador              ( 218),     
                        egypt                ( 818),     
                        elSalvador          ( 222),     
                        estonia              ( 233),     
                        faeroeIslands       ( 234),     
                        finland              ( 246),     
                        france               ( 250),     
                        georgia              ( 268),     
                        germany              ( 276),     
                        greece               ( 300),     
                        guatemala            ( 320),     
                        honduras             ( 340),     
                        hongKong            ( 344),     
                        hungary              ( 348),     
                        iceland              ( 352),     
                        india                ( 356),     
                        indonesia            ( 360),     
                        iran                 ( 364),     
                        iraq                 ( 368),     
                        ireland              ( 372),     
                        israel               ( 376),     
                        italy                ( 380),     
                        jamaica              ( 388),     
                        japan1               ( 393),     
                        japan2               ( 394),     
                        japan3               ( 395),     
                        jordan               ( 400),     
                        kazakhstan           ( 398),     
                        kenya                ( 404),     
                        koreaNorth          ( 408),     
                        koreaRoc            ( 410),     
                        koreaRoc2           ( 411),     
                        kuwait               ( 414),     
                        latvia               ( 428),     
                        lebanon              ( 422),     
                        libya                ( 434),     
                        liechtenstein        ( 438),     
                        lithuania            ( 440),     
                        luxembourg           ( 442),     
                        macau                ( 446),     
                        macedonia            ( 807),     
                        malaysia             ( 458),     
                        mexico               ( 484),     
                        monaco               ( 492),     
                        morocco              ( 504),     
                        netherlands          ( 528),     
                        nicaragua            ( 558),     
                        norway               ( 578),     
                        oman                 ( 512),     
                        pakistan             ( 586),     
                        panama               ( 591),     
                        paraguay             ( 600),     
                        peru                 ( 604),     
                        philippines          ( 608),     
                        poland               ( 616),     
                        portugal             ( 620),     
                        puertoRico          ( 630),     
                        qatar                ( 634),     
                        romania              ( 642),     
                        russia               ( 643),     
                        saudiArabia         ( 682),     
                        singapore            ( 702),     
                        slovakia             ( 703),     
                        slovenia             ( 705),     
                        southAfrica         ( 710),     
                        spain                ( 724),     
                        sweden               ( 752),     
                        switzerland          ( 756),     
                        syria                ( 760),     
                        thailand             ( 764),     
                        trinidadTYobago    ( 780),     
                        tunisia              ( 788),     
                        turkey               ( 792),     
                        uae                  ( 784),     
                        ukraine              ( 804),     
                        unitedKingdom       ( 826),     
                        uruguay              ( 858),     
                        uzbekistan           ( 860),     
                        venezuela            ( 862),     
                        vietNam             ( 704),     
                        yemen                ( 887),     
                        zimbabwe             ( 716),     
                        restOfTheWorld       ( 0),
                        extremeDefault       ( 998),
                        unknown              ( 999)
                        }

ExtremeWirelessAntennaType ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION "Specifies Antenna type attached to the access-point. 
    The integrated antenna is specified by CTL table on PCI eeprom.
    The detachable model 15901 is an omni-directional antenna.
    The detachable model 15902 is a  directional antenna."
    SYNTAX    INTEGER { integrated(0), detachable15901(1), detachable15902(2) }


ExtremeWirelessAntennaLocation ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION "Specifies whether the antenna is an indoor or outdoor antenna"
    SYNTAX	 INTEGER { indoor(0), outdoor(1) }

ExtremeWirelessPhysInterfaceIndex ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION  "The value of a physical interface number. Each radio on an AP
			corresponds to a physical interface. There can be multiple
			virtual interface on each physical interface. The format
			for the physical interface is xxxxyy where xxxx is the
			port IF index to which the AP is connected. YY is the 
			interface index within that AP."
    SYNTAX      Integer32(1..2147483647)

ExtremeWirelessVirtInterfaceIndex ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION  "The value of a virtual interface number. Each radio on an AP
			corresponds to a physical interface. There can be multiple
			virtual interface on each physical interface. The format
			for the virtual interface is xxxxyyzz where xxxx is the
			port IF index to which the AP is connected. YY is the 
			physical interface index within that AP and ZZ is the index
			of the virtual interface within that physical interface."
    SYNTAX      Integer32(1..2147483647)

ExtremeWirelessChannelAutoSelectStatus ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION   "Specifies the status of the channel auto-selection process."
    SYNTAX BITS {       notApplicable(0),
                        inProgress(1),
                        success(2),
                        radarInterferenceDuringScan(3),
                        radarInterferenceDuringOperation(4),
                        restartedDueToInterference(5)}


-- *************************************************************** --
--                      Device wide Properties                     --
-- *************************************************************** --	
extremeAPTotalAuthFailures OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS 	read-only
	STATUS		current
	DESCRIPTION
		"This variable gives the total number of
		 Authentication failures that have been seen by all
		 the wireless ports."
	::= { extremeLACGeneral 1 }

extremeAPTotalDetectedStations OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"This variable gives the total number of detected
		 stations on all the wireless ports."
	::= { extremeLACGeneral 2 }

extremeAPTotalAssociatedStations OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"This variable gives the total number of associated
		 stations on all the wireless ports."
	::= { extremeLACGeneral 3 }

extremeAPTotalAuthenticatedStations OBJECT-TYPE
	SYNTAX          INTEGER
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
	   "This variable gives the total number of authenticated
       stations on all the wireless ports."
	::= { extremeLACGeneral 4 }

extremeWirelessCfgMgmtVLAN OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This value indicates the VLAN tag that should be
                 applied to all control traffic between the AP and
                 the platform."
        ::= { extremeLACGeneral 5 }

extremeWirelessCfgNetmask OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value is the subnet of the Mgmt Vlan"
	::= { extremeLACGeneral 6 }

extremeWirelessCfgGateway OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value is assigned to the APs as the gateway
		for the management vlan."
	::= { extremeLACGeneral 7 }

extremeWirelessCfgEnableWirelessTraps OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"If set to TRUE the wireless port will send traps for
		 Authentication and association events.  
		 If set to FALSE no traps will be generated.
		 Note: We always generate the wireless port status
		 traps."
	::= { extremeLACGeneral 8 }

extremeWirelessCfgCountryCode OBJECT-TYPE
	SYNTAX		 ExtremeWirelessCountryCode
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION
                "This variable allows configuration of the 
                 country code in which the AP will operate.

                 Setting this value will enable the AP to range
                 check frequency and other regulatory settings."
        ::= { extremeLACGeneral 10 }


-- *************************************************************** --
--             Wireless Port Configuration Table                   --
--                                                                 --
-- The configuration table contains one entry for each port on the --
-- device which can host wireless function.  Configuration of the  --
-- port is done without regard to the presence or absence of an AP --
-- on that port.                                                   --
--                                                                 --
-- *************************************************************** --
extremeWirelessPortCfgTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessPortCfgEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table contains one entry per wireless port that
		 the user has configured.  The AP does not have to be
		 plugged in for the user to configure it via this 
		 table."
	::= { extremeLAC 3 }

extremeWirelessPortCfgEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessPortCfgEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		""
	INDEX { extremeWirelessPortIfIndex }
	::= { extremeWirelessPortCfgTable 1 }

ExtremeWirelessPortCfgEntry ::= SEQUENCE {
	extremeWirelessPortIfIndex		        InterfaceIndex,
	extremeWirelessPortCfgIpAddress		    IpAddress,
	extremeWirelessPortCfgLocation		    DisplayString,
	extremeWirelessPortCfgDetectedTimeout	TimeTicks,
	extremeWirelessPortCfgClientWatchdog    TruthValue,
	extremeWirelessPortLastChange		    TimeTicks,
	extremeWirelessPortState		        INTEGER,
    extremeWirelessPortAntennaType          ExtremeWirelessAntennaType,
    extremeWirelessPortAntennaLocation      ExtremeWirelessAntennaLocation
}


extremeWirelessPortIfIndex OBJECT-TYPE
	SYNTAX		InterfaceIndex
	MAX-ACCESS	read-only 
	STATUS		current
	DESCRIPTION
		"This is the MIB-II ifIndex of the port this entry
		 describes."
	::= { extremeWirelessPortCfgEntry 1 }

extremeWirelessPortCfgIpAddress OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value is assigned to the port for external
		 management."
	::= { extremeWirelessPortCfgEntry 2 }

extremeWirelessPortCfgLocation OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This describes the physical location of the wireless 
		 port."
	::= { extremeWirelessPortCfgEntry 3 }

extremeWirelessPortCfgDetectedTimeout OBJECT-TYPE
	SYNTAX		TimeTicks
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the number of seconds a station can stay
		 in the detected station table without authenticating."
	::= { extremeWirelessPortCfgEntry 4 }

extremeWirelessPortCfgClientWatchdog OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Setting this value to true will force the AP to 
		 run a watch-dog process for system health."
	::= { extremeWirelessPortCfgEntry 5 }

extremeWirelessPortLastChange OBJECT-TYPE
	SYNTAX		TimeTicks
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The value of sysUpTime when the port entered its last state"
	::= { extremeWirelessPortCfgEntry 6 }

extremeWirelessPortState OBJECT-TYPE
	SYNTAX 		INTEGER {
				disabled(1),
				enabled(2),
				reset(3),
				addressing(4),
				register(5),
				syncing(6),
				online(7),
				error(8)
			}
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The current state of the wireless part of this port.

		 enabled  : Port is actively looking for wireless
			    interfaces.

		 disabled : Port is administratively unable to detect
			    new interfaces.

		 reset    : Interfaces have been detected and are 
			    being brought up (access point is booting).

		 addressing : IP Address is being assigned.

		 register : Interfaces are registering for service

		 syncing  : Interfaces are retrieving their 
			    configuration and updating their state.

		 online   : Interfaces are operational.

		 If an error occurs the wireless port will 
		 transistion to the error state."
	::= { extremeWirelessPortCfgEntry 7 }

-- TODO: What is the meaning of this variable?
extremeWirelessPortAntennaType OBJECT-TYPE
	SYNTAX	        ExtremeWirelessAntennaType	
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the type of the Antenna for Detachable product.
		 For Altitude-2d series, further selection is available
                 through this variable."
	::= { extremeWirelessPortCfgEntry 8 }

extremeWirelessPortAntennaLocation OBJECT-TYPE
	SYNTAX		ExtremeWirelessAntennaLocation
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This specifies the location the detachable antenna."
	::= { extremeWirelessPortCfgEntry 9 }

-- *************************************************************** --
--                    Wireless Port Status Table                   --
--                                                                 --
-- Status table has one entry for every attached AP.  Each entry   --
-- contains a duplicate of the values which are configured in the  --
-- configuration table, as well as status and other information    --
-- learned from the device.                                        --
-- *************************************************************** --
extremeWirelessPortStatusTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessPortStatusEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table contains one entry per detected AP."
	::= { extremeAP 1 }

extremeWirelessPortStatusEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessPortStatusEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		""
	INDEX { extremeWirelessPortIfIndex }
	::= { extremeWirelessPortStatusTable 1 }

ExtremeWirelessPortStatusEntry ::= SEQUENCE {
	extremeWirelessPortIpAddress		     IpAddress,
	extremeWirelessPortNetmask		         IpAddress,
	extremeWirelessPortGateway		         IpAddress,
	extremeWirelessPortManagementIP		     IpAddress,
	extremeWirelessPortEnableWirelessTraps   TruthValue,
	extremeWirelessPortLocation		         DisplayString,
	extremeWirelessPortDetectedMaxAge	     TimeTicks,
	extremeWirelessPortMgmtVLAN		         INTEGER,
	extremeWirelessPortBootromVersion	     DisplayString,
	extremeWirelessPortSWVersion		     DisplayString,
	extremeWirelessPortSysDescr		         DisplayString,
	extremeWirelessPortManufacturerName	     DisplayString,
	extremeWirelessPortProductName		     DisplayString,
	extremeWirelessPortSerialNumber 	     DisplayString,
	extremeWirelessPortEdpNeighborId	     ExtremeDeviceId,
	extremeWirelessPortClearCounters	     TruthValue,
	extremeWirelessPortClearLog		         TruthValue,
	extremeWirelessPortWatchdogReset	     TruthValue,
	extremeWirelessPortNumPhysInterfaces	 INTEGER,
	extremeWirelessPortHWVersion	         DisplayString,
	extremeWirelessPortMacAddress            MacAddress,
	extremeWirelessPortRadiusPortID		     DisplayString,
    extremeWirelessPortBootUpTime            TimeTicks,
    extremeWirelessPortCountryCode		     ExtremeWirelessCountryCode,
	extremeWirelessPortWallclockTime         INTEGER,
	extremeWirelessPortPartNumber		     DisplayString,
	extremeWirelessPortPartRevision          DisplayString,
	extremeWirelessPortUpTime                TimeTicks,
    extremeWirelessPortStatusAntennaType     ExtremeWirelessAntennaType,
    extremeWirelessPortStatusAntennaLocation ExtremeWirelessAntennaLocation,
    extremeWirelessPortStatusAntenna2point4GHZGain INTEGER,
    extremeWirelessPortStatusAntenna5GHZGain INTEGER,
    extremeWirelessPortPrimaryBootloaderVersion     DisplayString,
    extremeWirelessPortSecondaryBootloaderVersion   DisplayString,
    extremeWirelessPortCurrentBootloaderInUse       INTEGER
}


extremeWirelessPortIpAddress OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value is assigned to the port for external
		 management."
	::= { extremeWirelessPortStatusEntry 1 }

extremeWirelessPortNetmask OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value is assigned to the AP for external
		 management."
	::= { extremeWirelessPortStatusEntry 2 }

extremeWirelessPortGateway OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value is assigned to the AP for external
		 management."
	::= { extremeWirelessPortStatusEntry 3 }

extremeWirelessPortManagementIP OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value is used by the AP when sending out Management 
		packets to the external world. This IP is used as src-ip 
		address in Syslog messages, as NAS-Identifier in Radius requests, 
		and as Agent-Addr in SNMP trap pdu's."
	::= { extremeWirelessPortStatusEntry 4 }

extremeWirelessPortEnableWirelessTraps OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"If set to TRUE the wireless port will send traps for
		 Authentication and association successful events.  
		 If set to FALSE no traps will be generated.

		 Note: We always generate the wireless port status
		 traps."
	::= { extremeWirelessPortStatusEntry 5 }

extremeWirelessPortLocation OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This describes the physical location of the wireless 
		 port."
	::= { extremeWirelessPortStatusEntry 6 }

extremeWirelessPortDetectedMaxAge OBJECT-TYPE
	SYNTAX		TimeTicks
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the number of seconds a station can stay
		 in the detected station table without authenticating."
	::= { extremeWirelessPortStatusEntry 7 }

extremeWirelessPortMgmtVLAN OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"This value indicates the VLAN tag that should be
		 applied to all control traffic between the AP and
		 the platform."
	::= { extremeWirelessPortStatusEntry 8 }

extremeWirelessPortBootromVersion OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION
		"This is the current version of the bootrom on this AP."
	::= { extremeWirelessPortStatusEntry 9 }

extremeWirelessPortSWVersion OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"This is the current software version of this AP."
	::= { extremeWirelessPortStatusEntry 10 }

extremeWirelessPortSysDescr OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"This is the equivalent value of sysDescr from the AP."
	::= { extremeWirelessPortStatusEntry 11 }

extremeWirelessPortManufacturerName OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		" "
	REFERENCE "dot11ManufacturerName"
	::= { extremeWirelessPortStatusEntry 12 }

extremeWirelessPortProductName OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		" "
	REFERENCE "dot11ProductName"
	::= { extremeWirelessPortStatusEntry 13 }

extremeWirelessPortSerialNumber OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"This is the unique serial number for this device."
	::= { extremeWirelessPortStatusEntry 14 }

extremeWirelessPortEdpNeighborId  OBJECT-TYPE
	SYNTAX		ExtremeDeviceId
	MAX-ACCESS 	read-only
	STATUS		current
	DESCRIPTION
      		"EDP assigns a unique ID to each neighbor to 
		 disambiguate references.  This can be used to index 
		 into the extremeEdpTable."
	::= { extremeWirelessPortStatusEntry 15 }

extremeWirelessPortClearCounters OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value can be set to true to force the device
		 to reset it's counters.  A read will return false."
	::= { extremeWirelessPortStatusEntry 16 }

extremeWirelessPortClearLog OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value can be set to true to force the device
		 to clear its local log store.  A read will return
		 false."
	::= { extremeWirelessPortStatusEntry 17 }

extremeWirelessPortWatchdogReset OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is to enable/disable watchdog timer reset on timeout. 
		Default is enable. If it is enabled, system should reset
		when the watchdog kicks in. On next bootup, it should 
		send out an syslog message to syslog server.  If it is 
		disabled, it should record the error and not reset the system."
	::= { extremeWirelessPortStatusEntry 18 }

extremeWirelessPortNumPhysInterfaces OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current		
	DESCRIPTION
		"Each wireless port has a set of physical interface which are
		 numbered 1-N.  This variable gives the number of 
		 physical interfaces on this AP."
	::= { extremeWirelessPortStatusEntry 19 }

extremeWirelessPortHWVersion OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"This is the current hardware version of this AP."
	::= { extremeWirelessPortStatusEntry 20 }


extremeWirelessPortMacAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Unique MAC Address assigned to the ethernet interface on the AP."
	::= { extremeWirelessPortStatusEntry 21 }

extremeWirelessPortRadiusPortID OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"A string value that should be sent by the AP to the radius
		server as the Port-ID radius attribute in authentication requests"
	::= { extremeWirelessPortStatusEntry 22 }

extremeWirelessPortBootUpTime OBJECT-TYPE
        	SYNTAX	TimeTicks
        	MAX-ACCESS 	read-write
        	STATUS	current
        	DESCRIPTION	
                "The sysUpTime of the LAC when the port was booted up.
		Should be set only during the AP boot up."
	::= { extremeWirelessPortStatusEntry 23 }

extremeWirelessPortCountryCode OBJECT-TYPE
               	SYNTAX ExtremeWirelessCountryCode
        	MAX-ACCESS 	read-write
        	STATUS	current
        	DESCRIPTION	
                "The country code that the AP is programmed to operate in."
	::= { extremeWirelessPortStatusEntry 24 }

extremeWirelessPortWallclockTime OBJECT-TYPE
        	SYNTAX	INTEGER
        	MAX-ACCESS 	read-write
        	STATUS	current
        	DESCRIPTION	
                "The wall clock time as known to the LAC. 
			Expressed in number of seconds since Jan 1, 1970"
	::= { extremeWirelessPortStatusEntry 25 }

extremeWirelessPortPartNumber OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This describes the part number of the AP."
	::= { extremeWirelessPortStatusEntry 26 }

extremeWirelessPortPartRevision OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This describes the revision of the AP."
	::= { extremeWirelessPortStatusEntry 27 }

extremeWirelessPortUpTime OBJECT-TYPE
        	SYNTAX	TimeTicks
        	MAX-ACCESS 	read-write
        	STATUS	current
        	DESCRIPTION	
                "The number of seconds the port has been in the online state."
	::= { extremeWirelessPortStatusEntry 28 }

extremeWirelessPortStatusAntennaType OBJECT-TYPE
        SYNTAX          ExtremeWirelessAntennaType
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the type of the Antenna for Detachable product.
                 For Altitude-2d series, further selection is available
                 through this variable."
        ::= { extremeWirelessPortStatusEntry 29 }

extremeWirelessPortStatusAntennaLocation OBJECT-TYPE
        SYNTAX          ExtremeWirelessAntennaLocation
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This specifies the location the detachable antenna."
        ::= { extremeWirelessPortStatusEntry 30 }

extremeWirelessPortStatusAntenna2point4GHZGain OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
               "This specifies 2.4GHz gain value for detachable antenna in dbi"
        ::= { extremeWirelessPortStatusEntry 31 }

extremeWirelessPortStatusAntenna5GHZGain OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
               "This specifies 5GHz gain value for detachable antenna in dbi"
        ::= { extremeWirelessPortStatusEntry 32 }

extremeWirelessPortPrimaryBootloaderVersion OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This is the version of the primary bootloader on this AP."
        ::= { extremeWirelessPortStatusEntry 33 }

extremeWirelessPortSecondaryBootloaderVersion OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This is the version of the Secondary bootloader on this AP."
        ::= { extremeWirelessPortStatusEntry 34 }

extremeWirelessPortCurrentBootloaderInUse OBJECT-TYPE
	SYNTAX INTEGER { primary(1),
			         secondary(2) }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "This specifies if the bootloader booted is primary or secondary one."
        ::= { extremeWirelessPortStatusEntry 35 }
-- *************************************************************** --
--                 Wireless Port Syslog Status Table               --
-- *************************************************************** --
extremeWirelessPortLogStatusTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessPortLogStatusEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table contains one entry for each wireless port
		 which is configured via the configuration table."
	::= { extremeAP 2 }

extremeWirelessPortLogStatusEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessPortLogStatusEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		""
	INDEX { extremeWirelessPortIfIndex, 
		extremeWirelessPortLogStatusIndex }
	::= { extremeWirelessPortLogStatusTable 1 }

ExtremeWirelessPortLogStatusEntry ::= SEQUENCE {
	extremeWirelessPortLogStatusIndex	INTEGER,
	extremeWirelessPortLogStatusDestIp	InetAddress,
	extremeWirelessPortLogStatusDestIpType  InetAddressType,
	extremeWirelessPortLogStatusPort	INTEGER,
	extremeWirelessPortLogStatusFacility	INTEGER,
	extremeWirelessPortLogStatusSeverity	INTEGER,
	extremeWirelessPortLogStatusStatus      TruthValue }

extremeWirelessPortLogStatusIndex OBJECT-TYPE
	SYNTAX		INTEGER(1..9)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"There are 9 entries in this table to correspond to
		 the 8 entries configured in the cfg table plus one
		 for the LAC."
	::= { extremeWirelessPortLogStatusEntry 1 }

extremeWirelessPortLogStatusDestIp OBJECT-TYPE
	SYNTAX		InetAddress
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the IP address to which syslog messsages
		 will be sent.  A value of 0.0.0.0 indicates that
		 this entry is disabled. The source IP for every syslog
		message comes from the ManagementIP field in 
		extremeWirelessPortStatusTable"
	::= { extremeWirelessPortLogStatusEntry 2 }

extremeWirelessPortLogStatusDestIpType          OBJECT-TYPE
        SYNTAX                                  InetAddressType
        MAX-ACCESS                              read-write
        STATUS                                  current
        DESCRIPTION
            "The type of address specified in the object
                'extremeWirelessPortLogStatusDestIp.
             Currently, only 'ipv4' and 'dns' are supported."
        DEFVAL { ipv4 }
      ::= { extremeWirelessPortLogStatusEntry 3 }

extremeWirelessPortLogStatusPort OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the port to which syslog messages will be
		 sent."
	::= { extremeWirelessPortLogStatusEntry 4 }

extremeWirelessPortLogStatusFacility OBJECT-TYPE
	SYNTAX		INTEGER(0..7)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Optional value for syslog facility local0-7."
	::= { extremeWirelessPortLogStatusEntry 5 }

extremeWirelessPortLogStatusSeverity               OBJECT-TYPE
            SYNTAX  INTEGER { 
				critical (0),
				error (1),
				warning (2),
				notice (3),
				info (4),
				debugSummary (5),
				debugVerbose (6),
				debugData (7)					
				}
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                    "The syslog message severity. All syslog
 			messages that have a severity >= specified severity, 
			will be sent to	this syslog server."
            DEFVAL { debugData }
            ::= { extremeWirelessPortLogStatusEntry 6 }

extremeWirelessPortLogStatusStatus OBJECT-TYPE
                SYNTAX TruthValue
                MAX-ACCESS  read-write
                STATUS current
                DESCRIPTION
                        "Specifies whether the log server is enabled or not."
        ::= { extremeWirelessPortLogStatusEntry 7 }


-- *************************************************************** --
--                   Wireless Port Log Table                       --
-- *************************************************************** --
extremeWirelessPortLogTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessPortLogEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table allows access to the syslog entries on
		 particular wireless ports."
	::= { extremeAP 3 }

extremeWirelessPortLogEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessPortLogEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		""
	INDEX { extremeWirelessPortIfIndex, 
		extremeWirelessPortLogIndex }
	::= { extremeWirelessPortLogTable 1 }

ExtremeWirelessPortLogEntry ::= SEQUENCE {
	extremeWirelessPortLogIndex	INTEGER,
	extremeWirelessPortLogMessage	DisplayString }

extremeWirelessPortLogIndex OBJECT-TYPE
	SYNTAX		INTEGER(0..65535)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This is an arbitrary integer which is assinged to
		 entries in order of their insertion."
	::= { extremeWirelessPortLogEntry 1 }

extremeWirelessPortLogMessage OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"This is the formatted syslog message which was sent."
	::= { extremeWirelessPortLogEntry 2 }
	
-- *************************************************************** --
--           Wireless Physical Interface Ctl Table                 --
-- This table allows for the configuration of parameters that deal --
-- with physical interfaces. Each radio on the AP is represented by--
-- a physical interface. Each physical interface can have multiple --
-- (upto 8) virtual interfaces. RF properties are configured on the--
-- physical interface using the extremeWirelessInterfaceRFCtlTable --
-- Security parameters are configured on the virtual interface     --
-- using the extremeWirelessInterfaceSecurityCtlTable          --
-- *************************************************************** --

extremeWirelessPhysInterfaceCtlTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessPhysInterfaceCtlEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table provides configuration of per-physical interface
		 values."
	::= { extremeAP 4 }

ExtremeWirelessPhysInterfaceCtlEntry ::= SEQUENCE {
	extremeWirelessPhysInterfaceIndex 		ExtremeWirelessPhysInterfaceIndex,
	extremeWirelessPhysInterfacePHYChannel	     INTEGER,
	extremeWirelessPhysInterfaceSpeed			Dot11Speed,
	extremeWirelessPhysInterfaceNumVirtInterfaces INTEGER,
    extremeWirelessPhysInterfaceChannelAutoSelectStatus ExtremeWirelessChannelAutoSelectStatus,
    extremeWirelessPhysInterfaceRadarInterfaceChannelList Dot11AChannel
}


extremeWirelessPhysInterfaceCtlEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessPhysInterfaceCtlEntry
	MAX-ACCESS	not-accessible
	STATUS		current	
	DESCRIPTION
		"Each entry is indexed by the wirelessInterfaceIndex, and
		represents a wireless interface."
	INDEX { extremeWirelessPhysInterfaceIndex }
	::= { extremeWirelessPhysInterfaceCtlTable 1 }

extremeWirelessPhysInterfaceIndex OBJECT-TYPE
	SYNTAX	ExtremeWirelessPhysInterfaceIndex
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"This is the ifIndex of an individual physical interface on an AP.
		Each radio will have a unique value."
	::= { extremeWirelessPhysInterfaceCtlEntry 1 }


extremeWirelessPhysInterfacePHYChannel OBJECT-TYPE
	SYNTAX		INTEGER (0..99)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the RF channel which will be used by 
		 this transmitter.  Range should be established
		 by configuration of RegDomain and PHYType."
	::= { extremeWirelessPhysInterfaceCtlEntry 2 }

extremeWirelessPhysInterfaceSpeed OBJECT-TYPE
	SYNTAX		Dot11Speed 
	MAX-ACCESS	 read-write
	STATUS		 current
	DESCRIPTION
		"This value indicates the current setting for 
		 Tx speed for the interface. Only one of thebits of this bit set can be set.
		 If all bits are unset (ie a 0 is passed as a value) then 
		 it means that the interface should choose a speed
		 based on some algorithm."
	::= { extremeWirelessPhysInterfaceCtlEntry 3 }

extremeWirelessPhysInterfaceNumVirtInterfaces OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	 read-write
	STATUS		 current
	DESCRIPTION
		"Each physical interface has a number of virtual interfaces
	 	 This specifies the number of virt interfaces."
	::= { extremeWirelessPhysInterfaceCtlEntry 4 }

-- Added for DFS
extremeWirelessPhysInterfaceChannelAutoSelectStatus OBJECT-TYPE
    SYNTAX          ExtremeWirelessChannelAutoSelectStatus 
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
        "This OID reflects the status of the channel auto selection process."
        ::= { extremeWirelessPhysInterfaceCtlEntry 5 }

-- Added for DFS
extremeWirelessPhysInterfaceRadarInterfaceChannelList OBJECT-TYPE
        SYNTAX          Dot11AChannel 
        MAX-ACCESS       read-only
        STATUS           current
        DESCRIPTION
                "This OID reflects the list oc 802.11(a) channels on which
radar interference was detected."
        ::= { extremeWirelessPhysInterfaceCtlEntry 6 }

	
	
-- *************************************************************** --
--           Wireless Virtual  Interface Ctl Table                 --
-- This table allows for the configuration of parameters that deal --
-- with virtual interfaces. Each radio on the AP is represented by--
-- a physical interface. Each physical interface can have multiple --
-- (upto 8) virtual interfaces. RF properties are configured on the--
-- physical interface using the extremeWirelessInterfaceRFCtlTable --
-- Security parameters are configured on the virtual interface     --
-- using the extremeWirelessInterfaceSecurityCtlTable          --
-- *************************************************************** --
extremeWirelessVirtInterfaceCtlTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessVirtInterfaceCtlEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table provides configuration of per-physical-interface
		 values."
	::= { extremeAP 6 }

ExtremeWirelessVirtInterfaceCtlEntry ::= SEQUENCE {
	extremeWirelessVirtInterfaceIndex 		        ExtremeWirelessVirtInterfaceIndex,
	extremeWirelessVirtInterfaceMacAddress		    MacAddress,
	extremeWirelessVirtInterfaceMaxClients		    INTEGER,
	extremeWirelessVirtInterfaceWirelessBridging	TruthValue,
	extremeWirelessVirtInterfaceLastStateChange	    TimeTicks,
	extremeWirelessVirtInterfaceState		        INTEGER,
    extremeWirelessVirtInterfaceIappEnabled         TruthValue,
    extremeWirelessVirtInterfaceSvpEnabled          TruthValue
}

extremeWirelessVirtInterfaceCtlEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessVirtInterfaceCtlEntry
	MAX-ACCESS	not-accessible
	STATUS		current	
	DESCRIPTION
		"Each entry is indexed by the wirelessInterfaceIndex, and
		represents a virtual wireless interface."
	INDEX { extremeWirelessVirtInterfaceIndex }
	::= { extremeWirelessVirtInterfaceCtlTable 1 }

extremeWirelessVirtInterfaceIndex OBJECT-TYPE
	SYNTAX	ExtremeWirelessVirtInterfaceIndex
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION
		"This is the ifIndex of an individual interface on an AP.
		Each virtual interface will have a unique value."
	::= { extremeWirelessVirtInterfaceCtlEntry 1 }
	
extremeWirelessVirtInterfaceMacAddress OBJECT-TYPE
	SYNTAX		MacAddress
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The maximum number of clients that can associate with this virtual interface."
	::= { extremeWirelessVirtInterfaceCtlEntry 2 }

extremeWirelessVirtInterfaceMaxClients OBJECT-TYPE
	SYNTAX		INTEGER (1..128)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The maximum number of clients that can associate with this virtual interface."
	::= { extremeWirelessVirtInterfaceCtlEntry 3 }

extremeWirelessVirtInterfaceWirelessBridging OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This specifies whether wireless bridging is enabled on this interface.
		 If wireless bridging is enabled then traffic originating from a client on this
		 interface will be bridged to clients on the same VLAN on this or other 
		 virtual interfaces that have wireless bridging enabled. So basically
		 wireless bridging should be enabled on both the source and the destination
		 virtual interface for traffic to be bridged."
	::= { extremeWirelessVirtInterfaceCtlEntry 4 }

extremeWirelessVirtInterfaceLastStateChange OBJECT-TYPE
	SYNTAX		TimeTicks
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The value of sysUpTime when the virtual interface entered its current state"
	::= { extremeWirelessVirtInterfaceCtlEntry 5 }

extremeWirelessVirtInterfaceState OBJECT-TYPE
	SYNTAX		INTEGER { enabled(1), disabled(2) } 
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value specifies whether the virtual interface is active or not"
	::= { extremeWirelessVirtInterfaceCtlEntry 6 }

extremeWirelessVirtInterfaceIappEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    "IAPP status. A value of TRUE indicates IAPP is enabled on the
    interface."
    ::= { extremeWirelessVirtInterfaceCtlEntry 7 }

extremeWirelessVirtInterfaceSvpEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    "SVP status. A value of TRUE indicates SVP is enabled on the
    interface."
    ::= { extremeWirelessVirtInterfaceCtlEntry 8 }

-- *************************************************************** --
--              Wireless Interface Security Ctl Table              --
-- This table allows for the configuration of per-wireless-intf    --
-- security parameters. Each Wireless interface is represented in  --
-- ifTable, and is represented by extremeWirelessInterfaceIfIndex. --
-- *************************************************************** --
extremeWirelessVirtInterfaceSecurityCtlTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessVirtInterfaceSecurityCtlEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table provides configuration of per-interface
		 values."
	::= { extremeAP 7 }

extremeWirelessVirtInterfaceSecurityCtlEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessVirtInterfaceSecurityCtlEntry
	MAX-ACCESS	not-accessible
	STATUS		current	
	DESCRIPTION
		"Each entry is indexed by the wirelessInterfaceIndex, and
		represents a wireless interface."
	INDEX { extremeWirelessVirtInterfaceIndex }
	::= { extremeWirelessVirtInterfaceSecurityCtlTable 1 }

ExtremeWirelessVirtInterfaceSecurityCtlEntry ::= SEQUENCE {
	extremeWirelessVirtInterfaceESSName		OCTET STRING,
	extremeWirelessVirtInterfaceSSIDInBeacon	TruthValue,
	extremeWirelessVirtInterfaceDot11AuthMode	Dot11AuthMode, 
	extremeWirelessVirtInterfaceNetworkAuthMode	NetworkAuthMode, 
	extremeWirelessVirtInterfaceDataVlan	INTEGER,
	extremeWirelessVirtInterfaceIgnoreVSAVlan	TruthValue,
	extremeWirelessVirtInterfaceWEPDefaultKey	INTEGER,
	extremeWirelessVirtInterfaceEncryptionLength 		INTEGER
}

extremeWirelessVirtInterfaceESSName OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The ESS ID of this interface."
	::= { extremeWirelessVirtInterfaceSecurityCtlEntry 1 }

extremeWirelessVirtInterfaceSSIDInBeacon OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Does this interface generate a beacon with the
		 SSID in it?"
	::= { extremeWirelessVirtInterfaceSecurityCtlEntry 2 }

extremeWirelessVirtInterfaceDot11AuthMode OBJECT-TYPE
	SYNTAX		Dot11AuthMode
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Setting this to true indicates whether to use open or shared authentication"
	::= { extremeWirelessVirtInterfaceSecurityCtlEntry 3 }

extremeWirelessVirtInterfaceNetworkAuthMode OBJECT-TYPE
	SYNTAX		NetworkAuthMode
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This specifies the authentication mode to use on top of dot11 MAC authentication"
	::= { extremeWirelessVirtInterfaceSecurityCtlEntry 4 }

extremeWirelessVirtInterfaceDataVlan OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the VLAN to use for client data in case of the VLAN is not received as a VSA. 
		This VLAN is also used for authentication types like PSK, WEP, etc"
	::= { extremeWirelessVirtInterfaceSecurityCtlEntry 5 }

extremeWirelessVirtInterfaceIgnoreVSAVlan OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"If this is set then the VLAN returned as a VSA will be ignored and the Data Vlan specified above
		will be used instead"
	::= { extremeWirelessVirtInterfaceSecurityCtlEntry 6 }

extremeWirelessVirtInterfaceWEPDefaultKey OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value indicates the index in dot11WEPDefaultKeyTable that 
		identifies the key this interface will use to decrypt packets."
	::= { extremeWirelessVirtInterfaceSecurityCtlEntry 7 }

extremeWirelessVirtInterfaceEncryptionLength OBJECT-TYPE
	SYNTAX      INTEGER { none(0),
	 		      sixtyfour(64),
                              onetwentyeight(128)  }
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the length of the encryption key to use in case
	         of dot1x legacy mode and WEP. If this length is 0 then no WEP encryption."
	::= { extremeWirelessVirtInterfaceSecurityCtlEntry 8 }

-- *************************************************************** --
--              Wireless Interface Dot1x Ctl Table              --
-- This table allows for the configuration of per-wireless-intf    --
-- dot1x parameters. Each Wireless interface is represented in  --
-- ifTable, and is represented by extremeWirelessVirtInterfaceIfIndex. --
-- *************************************************************** --
extremeWirelessVirtInterfaceDot1xCtlTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ExtremeWirelessVirtInterfaceDot1xCtlEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"There is one entry in this table for each virtual interface 
		It reflects the dot1x security config"
	::= { extremeAP 8 }

extremeWirelessVirtInterfaceDot1xCtlEntry OBJECT-TYPE
	SYNTAX	ExtremeWirelessVirtInterfaceDot1xCtlEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		""
	INDEX { extremeWirelessVirtInterfaceIndex }
	::= { extremeWirelessVirtInterfaceDot1xCtlTable 1 }

ExtremeWirelessVirtInterfaceDot1xCtlEntry ::= SEQUENCE {
	extremeWirelessVirtInterfaceKeyMgmtSuite		WPAKeyMgmtSet,
	extremeWirelessVirtInterfaceMcastCipherSuite	WPACipherSet,
	extremeWirelessVirtInterfaceDot1xPSKValue		OCTET STRING,
	extremeWirelessVirtInterfaceDot1xPSKPassPhrase	DisplayString,
	extremeWirelessVirtInterfaceDot1xReAuthPeriod	INTEGER,
	extremeWirelessVirtInterfaceGroupUpdateTimeOut	Unsigned32,
	extremeWirelessVirtInterfacePairwiseUpdateTimeOut Unsigned32
}

extremeWirelessVirtInterfaceKeyMgmtSuite OBJECT-TYPE
	SYNTAX	WPAKeyMgmtSet
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This bitmask configures the authentication suites to be used."
	::= { extremeWirelessVirtInterfaceDot1xCtlEntry 1 }

extremeWirelessVirtInterfaceMcastCipherSuite OBJECT-TYPE
	SYNTAX	WPACipherSet
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This configures the cipher suite to use for mcast traffic. The cipher suite to use for unicast traffic
		 is derived from this using the following algorithm:
			Mcast cipher = WEP (64/128), Unicast cipher = TKIP
			Mcast cipher = TKIP, Unicast cipher = TKIP
			Mcast cipher = AES, Unicast cipher = AES.
		 This therefore determines the max unicast cipher suite the client can use to associate with 
		 this interface."
	::= { extremeWirelessVirtInterfaceDot1xCtlEntry 2 }


extremeWirelessVirtInterfaceDot1xPSKValue OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(32))
	MAX-ACCESS	read-write
	STATUS		current	
	DESCRIPTION
		"The Pre-Shared Key (PSK) for when WPA in PSK mode is
		 the selected authentication suite."
	REFERENCE "dot11RSNConfigPSKValue"
	::= { extremeWirelessVirtInterfaceDot1xCtlEntry 3 }

extremeWirelessVirtInterfaceDot1xPSKPassPhrase OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	"The PSK, for when WPA in PSK mode is the selected authentication
	 suite, is configured by extremeWirelessVirtInterfaceKeyMgmtSuite.
	 An alternative manner of setting the PSK uses the password-to-key
	 algorithm defined in section XXX. This variable provides a means
	 to enter a pass phrase. When this object is written, the RSN
	 entity shall use the password-to-key algorithm specified in
	 section XXX to derive a pre-shared and populate
	 extremeWirelessVirtInerfaceDot1xPSKValue with this key.
	 This object is logically write-only. Reading this variable shall
	 return unsuccessful status or null or zero."
	::= { extremeWirelessVirtInterfaceDot1xCtlEntry 4 }

extremeWirelessVirtInterfaceDot1xReAuthPeriod OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Number of seconds a clients authentication will last before
		 the AP automatically issues a reauthentication request."
	::= { extremeWirelessVirtInterfaceDot1xCtlEntry 5 }

extremeWirelessVirtInterfaceGroupUpdateTimeOut OBJECT-TYPE
	SYNTAX		Unsigned32 (1..1440)
	UNITS		"minutes"
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The time in minutes after which the RSN group
		 update handshake will be retried. The timer shall
		 start at the moment the group update message is
		 sent."
	REFERENCE "dot11RSNConfigGroupUpdateTimeOut"
	DEFVAL		{ 100 } -- 
	::= { extremeWirelessVirtInterfaceDot1xCtlEntry 6 }

extremeWirelessVirtInterfacePairwiseUpdateTimeOut OBJECT-TYPE
	SYNTAX		Unsigned32 (1..1440)
	UNITS		"minutes"
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The time in minutes after which the RSN 4-way
		 handshake will be retried. The timer shall start at
		 the moment a 4-way message is sent."
	REFERENCE "dot11RSNConfigPairwiseUpdateTimeOut"
	DEFVAL		{ 100 } -- 
	::= { extremeWirelessVirtInterfaceDot1xCtlEntry 7 }


-- *************************************************************** --
--                     Default WEP Key Table                       --
-- *************************************************************** --
extremeWirelessVirtInterfaceWEPKeyTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ExtremeWirelessVirtInterfaceWEPKeyEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table contains per-profile WEP keys.

		 Reference ieee802dot11.1.2.3."
	::= { extremeAP 9 }

extremeWirelessVirtInterfaceWEPKeyEntry OBJECT-TYPE
	SYNTAX	ExtremeWirelessVirtInterfaceWEPKeyEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	INDEX { extremeWirelessVirtInterfaceIndex, extremeWirelessVirtInterfaceWEPKeyIndex }
	::= { extremeWirelessVirtInterfaceWEPKeyTable 1 }
	
ExtremeWirelessVirtInterfaceWEPKeyEntry ::= SEQUENCE {
	extremeWirelessVirtInterfaceWEPKeyIndex	INTEGER,
	extremeWirelessVirtInterfaceWEPKey		OCTET STRING,
	extremeWirelessVirtInterfaceWEPKeyStatus	TruthValue }
	
extremeWirelessVirtInterfaceWEPKeyIndex OBJECT-TYPE
	SYNTAX 		INTEGER(1..4)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"There can be upto 4 wep keys for any wireless
		 interface. Four of the keys are to be used with
		 WEP Authentication, and the other four with MAC Auth."
	::= { extremeWirelessVirtInterfaceWEPKeyEntry 1 }

extremeWirelessVirtInterfaceWEPKey OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(1..19))
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is a write-only wep key."
	::= { extremeWirelessVirtInterfaceWEPKeyEntry 2 }

extremeWirelessVirtInterfaceWEPKeyStatus OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"Specifies whether the key is present or not."
	::= { extremeWirelessVirtInterfaceWEPKeyEntry 3 }

-- *************************************************************** --
--              Wireless Interface RF Ctl Table                    --
-- This table allows for the configuration of per-wireless-intf    --
-- RF parameters. Each Wireless interface is represented in        --
-- ifTable, and is represented by extremeWirelessPhysInterfaceIfIndex. --
-- *************************************************************** --
extremeWirelessPhysInterfaceRFCtlTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessPhysInterfaceRFCtlEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table provides configuration of per-interface
		 values."
	::= { extremeAP 10 }

extremeWirelessPhysInterfaceRFCtlEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessPhysInterfaceRFCtlEntry
	MAX-ACCESS	not-accessible
	STATUS		current	
	DESCRIPTION
		"Each entry is indexed by the wirelessInterfaceIndex, and
		represents a wireless interface."
	INDEX { extremeWirelessPhysInterfaceIndex }
	::= { extremeWirelessPhysInterfaceRFCtlTable 1 }

ExtremeWirelessPhysInterfaceRFCtlEntry ::= SEQUENCE {
	extremeWirelessPhysInterfaceBeaconPeriod 	INTEGER,
	extremeWirelessPhysInterfaceTxPowerLevel 	INTEGER,
	extremeWirelessPhysInterfaceDTIMPeriod 	INTEGER,
	extremeWirelessPhysInterfaceFragLength	INTEGER,
	extremeWirelessPhysInterfaceLongRetry 	INTEGER,	
	extremeWirelessPhysInterfaceShortRetry 	INTEGER,
	extremeWirelessPhysInterfaceRTSThreshold 	INTEGER,
	extremeWirelessPhysInterfaceSupportedDataRatesRxValue Dot11Speed,
	extremeWirelessPhysInterfaceSupportedDataRatesTxValue Dot11Speed,
	extremeWirelessPhysInterfacePHYType		     Dot11Type,
	extremeWirelessPhysInterfacePHYSupportedTypes     BITS,
	extremeWirelessPhysInterfacePreamble		INTEGER,
    extremeWirelessPhysInterfaceAbsTxPowerLevel INTEGER
}

extremeWirelessPhysInterfaceBeaconPeriod OBJECT-TYPE
	SYNTAX		INTEGER 
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the beacon interval to use"
	::= { extremeWirelessPhysInterfaceRFCtlEntry 1 }

extremeWirelessPhysInterfaceTxPowerLevel OBJECT-TYPE
	SYNTAX		INTEGER (1..100)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the % of max power to transmit at."
	::= { extremeWirelessPhysInterfaceRFCtlEntry 2 }

extremeWirelessPhysInterfaceDTIMPeriod OBJECT-TYPE
	SYNTAX		INTEGER 
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the DTIM period."
	::= { extremeWirelessPhysInterfaceRFCtlEntry 3 }

extremeWirelessPhysInterfaceFragLength OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		" "
	REFERENCE "ieee802dot11.2.1.1.5."
	::= { extremeWirelessPhysInterfaceRFCtlEntry 4 }

extremeWirelessPhysInterfaceLongRetry OBJECT-TYPE
	SYNTAX		INTEGER (1..255)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION		
		"Attribute indicates the maximum number of transmission
		 attempts of a frame whose size is > RTS."
	REFERENCE "dot11LongRetryLimit"
	::= { extremeWirelessPhysInterfaceRFCtlEntry 5 }

extremeWirelessPhysInterfaceShortRetry OBJECT-TYPE
	SYNTAX		INTEGER (1..255)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION		
		"Attribute indicates the maximum number of transmission
		 attempts of a frame whose size is <= RTS."
	REFERENCE "dot11ShortRetryLimit"
	::= { extremeWirelessPhysInterfaceRFCtlEntry 6 }

extremeWirelessPhysInterfaceRTSThreshold OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current	
	DESCRIPTION 
		" "
	REFERENCE "ieee802dot11.2.1.1.2."
	::= { extremeWirelessPhysInterfaceRFCtlEntry 7 }

extremeWirelessPhysInterfaceSupportedDataRatesRxValue OBJECT-TYPE
	SYNTAX		Dot11Speed
	MAX-ACCESS	read-only
	STATUS		current	
	DESCRIPTION 
		"A bitmask of all supported datarates for Rx."
	::= { extremeWirelessPhysInterfaceRFCtlEntry 8 }
	
extremeWirelessPhysInterfaceSupportedDataRatesTxValue OBJECT-TYPE
	SYNTAX		Dot11Speed
	MAX-ACCESS	read-only
	STATUS		current	
	DESCRIPTION 
		"A bitmask of all supported datarates for Tx."
	::= { extremeWirelessPhysInterfaceRFCtlEntry 9 }

extremeWirelessPhysInterfacePHYType OBJECT-TYPE
	SYNTAX	       Dot11Type
	MAX-ACCESS     read-write
	STATUS	       current
	DESCRIPTION
		"This variable selects between 802.11 a/b/g 
		 for this transmitter.  It should be used by
		 ap to range check frequency, etc."
	::= { extremeWirelessPhysInterfaceRFCtlEntry 10 }

extremeWirelessPhysInterfacePHYSupportedTypes OBJECT-TYPE
	SYNTAX 		BITS { bsupported(0),
			       asupported(1),
			       gsupported(2) }
	MAX-ACCESS 	read-only
	STATUS 		current
	DESCRIPTION
		"This is the 802.11 standard supported by this
		 interface as a bitmask"
	::= { extremeWirelessPhysInterfaceRFCtlEntry 11 }

extremeWirelessPhysInterfacePreamble OBJECT-TYPE
	SYNTAX		INTEGER { short(0),
				  long(1) }
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This changes the 802 preamble expected by the
		 interface."
	::= { extremeWirelessPhysInterfaceRFCtlEntry 12 }

extremeWirelessPhysInterfaceAbsTxPowerLevel OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This is the absolute value of max power to transmit level in dBm."
    ::= { extremeWirelessPhysInterfaceRFCtlEntry 13 }

-- *************************************************************** --
-- Wireless Interface Status Table
-- *************************************************************** --
extremeWirelessInterfaceStatusTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessInterfaceStatusEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
	"This table provides statistics and information on the
	current condition of each wireless interace.
	There is one entry per virtual and physical wireless 
	interface in this table.  The values for the physical 
	interfaces represent the sum of the values for all sub
	interfaces."
	::= { extremeAP 5 }

extremeWirelessInterfaceStatusEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessInterfaceStatusEntry
	MAX-ACCESS	not-accessible
	STATUS		current	
	DESCRIPTION
	"Each entry in this table is indexed by either a virtual or
	a physical ifIndex."
	INDEX { ifIndex }
	::= { extremeWirelessInterfaceStatusTable 1 }
	
ExtremeWirelessInterfaceStatusEntry ::= SEQUENCE {
	extremeWirelessIntfTotalDetected    Unsigned32,
	extremeWirelessIntfTotalAuthed      Unsigned32,
	extremeWirelessIntfTotalAuthFailed  Unsigned32,
	extremeWirelessIntfTotalAssoc       Unsigned32,
    extremeWirelessIntfTotalAssocFailed Unsigned32,
	extremeWirelessIntfRateDetected     Unsigned32,
	extremeWirelessIntfRateAuthed       Unsigned32,
	extremeWirelessIntfRateAuthFailed   Unsigned32,
    extremeWirelessIntfRateAssoc        Unsigned32,
    extremeWirelessIntfRateAssocFailed  Unsigned32,
    extremeWirelessIntfBlockTime        Unsigned32,
	extremeWirelessIntfCurrentDetected    Unsigned32,
	extremeWirelessIntfCurrentAuthed      Unsigned32,
	extremeWirelessIntfCurrentAssoc       Unsigned32,
	extremeWirelessIntfCurrentForwarding  Unsigned32}

	
extremeWirelessIntfTotalDetected OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of stations which have entered
	the detected state on this wireless interface since the last
	time the counters were cleared."
	::= { extremeWirelessInterfaceStatusEntry 1 }
	
extremeWirelessIntfTotalAuthed OBJECT-TYPE	
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of stations which have entered
	the authenticated state on this wireless interface since the 
	last time the counters were cleared.  Note that this is equal 
	to the number of stations which have entered the forwarding 
	state.  This is not necessaryly equivalent to the number of
	stations which have succeeded in MAC-level authentication."
	::= { extremeWirelessInterfaceStatusEntry 2 }
	
extremeWirelessIntfTotalAuthFailed OBJECT-TYPE	
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of stations which have failed
	to authenticate on this wireless interface.  Note that no
	distinction is made between a MAC-layer or higher-layer
	authentication failure."
	::= { extremeWirelessInterfaceStatusEntry 3 }
	
extremeWirelessIntfTotalAssoc OBJECT-TYPE	
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of stations which have entered
	the associated state on this wireless interface since the 
	last time the counters were cleared."
	::= { extremeWirelessInterfaceStatusEntry 4 }

extremeWirelessIntfTotalAssocFailed OBJECT-TYPE   
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the total number of stations which have failed
    the association on this wireless interface since the 
    last time the counters were cleared."
    ::= { extremeWirelessInterfaceStatusEntry 5 }

extremeWirelessIntfRateDetected OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the rate of clients being detected on this 
	 interface over a 5 second period using EMWA averaging."
	::= { extremeWirelessInterfaceStatusEntry 6 }

extremeWirelessIntfRateAuthed OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives teh rate of clients being authenticated on this 
    interface over a 5 second period using EMWA averaging."
	::= { extremeWirelessInterfaceStatusEntry 7 }

extremeWirelessIntfRateAuthFailed OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the rate of clients failed authentication on this
	 interface over a 5 second period using EMWA averaging."
	::= { extremeWirelessInterfaceStatusEntry 8 }

extremeWirelessIntfRateAssoc OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the rate of clients being associated on this 
    interface over a 5 second period using EMWA averaging."
    ::= { extremeWirelessInterfaceStatusEntry 9 }

extremeWirelessIntfRateAssocFailed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the rate of clients failing association on this 
    interface over a 5 second period using EMWA averaging."
    ::= { extremeWirelessInterfaceStatusEntry 10 }

extremeWirelessIntfBlockTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "This value specifies the number of ticks until traffic will be 
    allowed back on this interface.  A non-zero value indicates that
    traffic has been blocked, most likely due to countermeasures."
    ::= { extremeWirelessInterfaceStatusEntry 11 }

extremeWirelessIntfCurrentDetected OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the current number of stations which are in
	the detected state on this wireless interface."
	::= { extremeWirelessInterfaceStatusEntry 12 }
	
extremeWirelessIntfCurrentAuthed OBJECT-TYPE	
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the current number of stations which are in
	the authenticated state on this wireless interface."
	::= { extremeWirelessInterfaceStatusEntry 13 }
	
extremeWirelessIntfCurrentAssoc OBJECT-TYPE	
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the current number of stations which are in
	the associated state on this wireless interface."
	::= { extremeWirelessInterfaceStatusEntry 14 }

extremeWirelessIntfCurrentForwarding OBJECT-TYPE	
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the current number of stations which are in
	the forwarding state on this wireless interface."
	::= { extremeWirelessInterfaceStatusEntry 15 }

--TODO: Do we need to fix this table
-- *************************************************************** --
--                     AP Wireless Client Table                    --
-- *************************************************************** --
extremeWirelessClientTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessClientEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table augments the Dot11AccessPointAddressTableEntry
		 to add a per-client VLAN entry."
	::= { extremeAP 11 }
	
extremeWirelessClientEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessClientEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
	"An entry in the extremeWirelessClientTable. It is possible
	 for there to be multiple IEEE 802.11 interfaces on one agent,
	 each with its unique MAC address. The relationship between an
	 IEEE 802.11 interface and an interface in the context of the
	 Internet-standard MIB is one-to-one. As such, the value of an
	 ifIndex object instance can be directly used to identify
	 corresponding instances of the objects defined herein. by
	 ifIndex."
    INDEX {ifIndex, extremeWirelessClientID} 
	::= { extremeWirelessClientTable 1 }

ExtremeWirelessClientEntry ::= SEQUENCE {
	extremeWirelessClientID 		MacAddress, 
	extremeWirelessClientState 		INTEGER, 
	extremeWirelessClientEncryption 	WPACipherSet, 
	extremeWirelessClientSignalStrength INTEGER, 
	extremeWirelessClientLinkQuality 	INTEGER, 
	extremeWirelessClientVLAN		INTEGER,
	extremeWirelessClientPriority		INTEGER,
	extremeWirelessClientAuthType		ClientAuthType,
	extremeWirelessClientLastStateChangeTime 	TimeTicks, 
	extremeWirelessClientTxFrames		Counter32,
	extremeWirelessClientRxFrames		Counter32,
	extremeWirelessClientTxBytes		Counter64,
	extremeWirelessClientRxBytes		Counter64,
	extremeWirelessClientLastPacketType	INTEGER,
	extremeWirelessClientSSID		OCTET STRING,
	extremeWirelessClientStatus		RowStatus,
    extremeWirelessClientIP	                IpAddress,
    extremeWirelessClientUsername           DisplayString,
    extremeWirelessClientDecryptionFailures Counter32,
    extremeWirelessClientMICFailures        Counter32}

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

extremeWirelessClientState OBJECT-TYPE 
    SYNTAX INTEGER { detected (1),
			authenticated (2), 
			associated (3) ,
			data-forwarding (4)} 
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION 
	"This attribute shall indicate the current state of the connection
	 between a wireless station and the AP. The attribute is
	 enumerated as follows: 

	1 - Detected - station has been detected, but not is communicating with AP
	2 - Authenticated - station is authenticated but not currently 
			associated. 
	3 - Associated - station is authenticated and associated 
	4 - Data-forwarding - station is on the network
	It is assumed that if an station is deauthenticated, or disassociated 
	then it no longer has an entry the AP's Address Table." 
    ::= { extremeWirelessClientEntry 2 } 

extremeWirelessClientEncryption OBJECT-TYPE 
    SYNTAX WPACipherSet
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION 
	"This attribute is contains the encryption mechanism being used 
	 by the station in an AP that allows mixed encryption modes." 
    ::= { extremeWirelessClientEntry 3 } 

extremeWirelessClientSignalStrength OBJECT-TYPE 
    SYNTAX INTEGER (1..100) 
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION 
	"This attribute shall specify the signal strength of the last
	 frame received from the station in - dBm. e.g. a value of 50
	 implies -50 dBm." 
    ::= { extremeWirelessClientEntry 4 } 

extremeWirelessClientLinkQuality OBJECT-TYPE 
    SYNTAX INTEGER (1..100) 
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION 
	"This attribute shall contain an indication of the quality 
	 of the signal as measured in the last frame received from the 
	 station. TBD format of this attribute" 
    ::= { extremeWirelessClientEntry 5 } 

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

extremeWirelessClientPriority OBJECT-TYPE
	SYNTAX		INTEGER
	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."
	::= { extremeWirelessClientEntry 7 }

extremeWirelessClientAuthType 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.  The strongest
		 mechanism used should be listed here, in case more
		 than one was used.  For example, if a combination of
		 mac-based shared-key and dot1x were used, this value
		 should indicated dot1x."
	::= { extremeWirelessClientEntry 8 }

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

extremeWirelessClientTxFrames OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This is the number of packets transmitted to the client"
	::= { extremeWirelessClientEntry 10 }

extremeWirelessClientRxFrames OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This is the number of packets transmitted by the client"
	::= { extremeWirelessClientEntry 11 }

extremeWirelessClientTxBytes OBJECT-TYPE
	SYNTAX	Counter64
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This is the number of bytes transmitted to the client"
	::= { extremeWirelessClientEntry 12 }

extremeWirelessClientRxBytes OBJECT-TYPE
	SYNTAX	Counter64
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This is the number of bytes transmitted by the client"
	::= { extremeWirelessClientEntry 13 }

extremeWirelessClientLastPacketType OBJECT-TYPE
	SYNTAX	INTEGER { data (0),
				psPoll (1),
				probeRequest (2),
				disassociation (3),
				deauthentication (4),
				association (5),
				reassociation (6),
				authentication (7) }
--				inf-beacon (8),
--				adhoc-beacon (9) }				
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This the the last packet type seen from the specific client"
	::= { extremeWirelessClientEntry 14 }

extremeWirelessClientSSID OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The SSID that this client was using"
	::= { extremeWirelessClientEntry 15 }

extremeWirelessClientStatus OBJECT-TYPE
	SYNTAX	RowStatus
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This variable is used to delete an entry from the table.
		The only value this can be set to, is delete (6).
		
		If an entry is deleted, that is already in Associated or 
		data-forwarding state, then the AP should dis-associate the 
		particular client by sending a disassociate message.
		
		If an entry is in Authenticated state, and is deleted, then 
		the AP should 'deAuthenticate' that client.
		
		If an entry is in 'detected' state and is deleted, then the
		entry should just be removed from the table."
	::= { extremeWirelessClientEntry 16 }

extremeWirelessClientIP OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"IP Address of the wireless client."
	::= { extremeWirelessClientEntry 17 }

    extremeWirelessClientUsername OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Username (if any) of the wireless client."
    ::= { extremeWirelessClientEntry 18 }

extremeWirelessClientDecryptionFailures OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This is the number of failures during decrypting packets from this client."
	::= { extremeWirelessClientEntry 19 }

extremeWirelessClientMICFailures OBJECT-TYPE
	SYNTAX	Counter32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This is the number of MIC failures for this client."
	::= { extremeWirelessClientEntry 20 }

-- *************************************************************** --
--                  RF Profile Table                         	   --
-- *************************************************************** --
extremeRFProfile OBJECT IDENTIFIER ::= { extremeProfile 1 }

extremeRFProfileTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeRFProfileEntry
	MAX-ACCESS 	not-accessible
	STATUS		current	
	DESCRIPTION
		"There is one entry in this table for each RF profile
		 defined on the LAC.  Configuration for wireless intf.
		 should only be done by manipulating these variables.

		 Changes here will be reflected in the corresponding
		 802dot11 MIB variables (see references below).

		 On bootup this table should be populated with one
		 default entry for each supported type (A, G, etc)."
	::= { extremeRFProfile 1 } 

extremeRFProfileEntry OBJECT-TYPE
	SYNTAX		ExtremeRFProfileEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		""
	INDEX { extremeRFProfileIndex }
	::= { extremeRFProfileTable 1 }

ExtremeRFProfileEntry ::= SEQUENCE {
	extremeRFProfileIndex		INTEGER,
	extremeRFProfileName		DisplayString,
	extremeRFProfileType		Dot11Type,
	extremeRFProfileBeaconInterval 	INTEGER,
	extremeRFProfileDTIM		INTEGER,
	extremeRFProfileFragLength	INTEGER,
	extremeRFProfileRTSThresh	INTEGER,
	extremeRFProfilePreamble	INTEGER,
	extremeRFProfileShortRetry	INTEGER,
	extremeRFProfileLongRetry	INTEGER,
	extremeRFProfileStatus		RowStatus }

extremeRFProfileIndex OBJECT-TYPE
	SYNTAX		INTEGER(1..34)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"Integer index for this table.  This is here to avoid
		 having to index into the table via the string name."
	::= { extremeRFProfileEntry 1 }

extremeRFProfileName OBJECT-TYPE
	SYNTAX		DisplayString (SIZE(1..32))
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"String name of this profile.  The value |default| is
		 a special token and should not be allowed."
	::= { extremeRFProfileEntry 2 }

extremeRFProfileType OBJECT-TYPE
	SYNTAX		Dot11Type
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is the type of this RF profile.  This
		 will decide the ranges of some of the values
		 (i.e. channel)."
	::= { extremeRFProfileEntry 3 }

extremeRFProfileBeaconInterval OBJECT-TYPE
	SYNTAX		INTEGER(1..65535)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is the number of TU between beacon frames."
	REFERENCE "ieee802dot11.1.1.1.12."
	::= { extremeRFProfileEntry 5 }

extremeRFProfileDTIM OBJECT-TYPE
	SYNTAX		INTEGER(1..255)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" "
	REFERENCE "ieee802dot11.1.1.1.13."
	::= { extremeRFProfileEntry 6 }

extremeRFProfileFragLength OBJECT-TYPE
	SYNTAX		INTEGER(256..2345)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" "
	REFERENCE "ieee802dot11.2.1.1.5."
	::= { extremeRFProfileEntry 7 }

extremeRFProfileRTSThresh OBJECT-TYPE
	SYNTAX		INTEGER(0..2347)
	MAX-ACCESS	read-create
	STATUS		current	
	DESCRIPTION 
		" "
	REFERENCE "ieee802dot11.2.1.1.2."
	::= { extremeRFProfileEntry 8 }

extremeRFProfilePreamble OBJECT-TYPE
	SYNTAX		INTEGER { short(0),
				  long(1) }
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This changes the 802 preamble expected by the
		 interface."
	::= { extremeRFProfileEntry 9 }

extremeRFProfileShortRetry OBJECT-TYPE
        SYNTAX	        INTEGER (1..255)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"Attribute indicates the maximum number of transmission
		 attempts of a frame whose size is <= RTS."
	REFERENCE "dot11ShortRetryLimit"
	::= { extremeRFProfileEntry 11 }

extremeRFProfileLongRetry OBJECT-TYPE
	SYNTAX		INTEGER (1..255)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION		
		"Attribute indicates the maximum number of transmission
		 attempts of a frame whose size is > RTS."
	REFERENCE "dot11LongRetryLimit"
	::= { extremeRFProfileEntry 12 }

extremeRFProfileStatus OBJECT-TYPE
	SYNTAX		RowStatus
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"Standard row-status semantics."
	::= { extremeRFProfileEntry 13 }


-- *************************************************************** --
--                      Security Profile Table                     --
-- *************************************************************** --


extremeSecurityProfile OBJECT IDENTIFIER ::= { extremeProfile 2 }

extremeSecurityProfileTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ExtremeSecurityProfileEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"There is one entry in this table per security 
		 profile on the LAC.  Each profile is identified by a
		 string name."
	::= { extremeSecurityProfile 1 }

extremeSecurityProfileEntry OBJECT-TYPE
	SYNTAX		ExtremeSecurityProfileEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		""
	INDEX { extremeSecurityProfileIndex }
	::= { extremeSecurityProfileTable 1 }

ExtremeSecurityProfileEntry ::= SEQUENCE {
	extremeSecurityProfileIndex 		INTEGER,
	extremeSecurityProfileName		DisplayString,
	extremeSecurityProfileESSName		OCTET STRING,
	extremeSecurityProfileSSIDInBeacon		TruthValue,
	extremeSecurityProfileDot11AuthMode	Dot11AuthMode,
	extremeSecurityProfileNetworkAuthMode	NetworkAuthMode,
	extremeSecurityProfileDataVlan			INTEGER,
	extremeSecurityProfileIgnoreVSAVlan		TruthValue,
    extremeSecurityWEPDefaultKey  INTEGER,
	extremeSecurityProfileEncryptionLength 	INTEGER, 
	extremeSecurityProfileStatus		RowStatus }

extremeSecurityProfileIndex OBJECT-TYPE
	SYNTAX		INTEGER(1..32)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This is an integer index used instead of string
		 name."
	::= { extremeSecurityProfileEntry 1 }

extremeSecurityProfileName OBJECT-TYPE
	SYNTAX		DisplayString (SIZE(1..32))
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is a unique string name which identifies this
		 profile.  The token |default| is special and should
		 not be allowed."
	::= { extremeSecurityProfileEntry 2 }

extremeSecurityProfileESSName OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..32))
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is the desired ESS name."
	REFERENCE "ieee802dot11.1.1.1.9"
	::= { extremeSecurityProfileEntry 3 }

extremeSecurityProfileSSIDInBeacon OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"Setting this value to true will have the channel
		 place the ssid in the beacon frame."
	::= { extremeSecurityProfileEntry 4 }

extremeSecurityProfileDot11AuthMode OBJECT-TYPE
	SYNTAX		Dot11AuthMode
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"Specified whether to use open or shared authentication"
	::= { extremeSecurityProfileEntry 5 }

extremeSecurityProfileNetworkAuthMode OBJECT-TYPE
	SYNTAX		NetworkAuthMode
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This specifies the authentication to use on top of dot11 mac authentication"
	::= { extremeSecurityProfileEntry 6 }

extremeSecurityProfileDataVlan OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This specifies the VLAN to use in case it does not come back as a VSA or in case the IgnoreVSAVlan is set
		 to true"
	::= { extremeSecurityProfileEntry 7 }

extremeSecurityProfileIgnoreVSAVlan OBJECT-TYPE
 	SYNTAX		TruthValue
 	MAX-ACCESS	read-create
 	STATUS		current
 	DESCRIPTION     "This specifies if Vlan associations in VSAs from the radius server has to be ignored or not"
 	::= { extremeSecurityProfileEntry 8 }

extremeSecurityWEPDefaultKey OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This value indicates the index in extremeWEPKeyTable that 
		identifies the key this interface will use to decrypt packets."
	::= { extremeSecurityProfileEntry 9 }

extremeSecurityProfileEncryptionLength OBJECT-TYPE
    SYNTAX      INTEGER { none(0),
			  sixtyfour(64),
                          onetwentyeight(128)  }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This gives the size in bits of the key.
         This variable defines the length of all WEP keys and also
         the encryption to use in case of legacy dot1x.
         If the encryption is set to none then no WEP encryption is set."
    ::= { extremeSecurityProfileEntry 10 }

-- extremeSecurityEnableWebNetlogin OBJECT-TYPE
--        SYNTAX          TruthValue
--        MAX-ACCESS      read-create
--        STATUS          current
--        DESCRIPTION
--                "Enable disable netlogin on the wireless interface where
--                security profile is applied."
--        ::= { extremeSecurityProfileEntry 11 }

extremeSecurityProfileStatus OBJECT-TYPE
	SYNTAX		RowStatus
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"Standard row-creation semantics."
	::= { extremeSecurityProfileEntry 11 }

extremeSecurityDot1xConfigTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ExtremeSecurityDot1xConfigEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"There is one entry in this table per security 
		 profile on the LAC. It reflects the dot1x security config"
	::= { extremeSecurityProfile 2 }

extremeSecurityDot1xConfigEntry OBJECT-TYPE
	SYNTAX	ExtremeSecurityDot1xConfigEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		""
	INDEX { extremeSecurityProfileIndex }
	::= { extremeSecurityDot1xConfigTable 1 }

ExtremeSecurityDot1xConfigEntry ::= SEQUENCE {
	extremeSecurityKeyMgmtSuite		WPAKeyMgmtSet,
	extremeSecurityMcastCipherSuite	WPACipherSet,
	extremeSecurityDot1xPSKValue		OCTET STRING,
	extremeSecurityDot1xPSKPassPhrase	DisplayString,
	extremeSecurityDot1xReAuthPeriod	INTEGER,
	extremeSecurityGroupUpdateTimeOut	Unsigned32,
	extremeSecurityPairwiseUpdateTimeOut Unsigned32
}

extremeSecurityKeyMgmtSuite OBJECT-TYPE
	SYNTAX	WPAKeyMgmtSet
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This bitmask configures the authentication suites to be used."
	::= { extremeSecurityDot1xConfigEntry 1 }

extremeSecurityMcastCipherSuite OBJECT-TYPE
	SYNTAX	WPACipherSet
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This configures the cipher suite to use for mcast traffic. The cipher suite to use for unicast traffic
		 is derived from this using the following algorithm:
			Mcast cipher = WEP (64/128), Unicast cipher = TKIP
			Mcast cipher = TKIP, Unicast cipher = TKIP
			Mcast cipher = AES, Unicast cipher = AES.
		 This therefore determines the max unicast cipher suite the client can use to associate with 
		 this interface."
	::= { extremeSecurityDot1xConfigEntry 2 }


extremeSecurityDot1xPSKValue OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(32))
	MAX-ACCESS	read-write
	STATUS		current	
	DESCRIPTION
		"The Pre-Shared Key (PSK) for when RSN in PSK mode is
		 the selected authentication suite."
	REFERENCE "dot11RSNConfigPSKValue"
	::= { extremeSecurityDot1xConfigEntry 3 }

extremeSecurityDot1xPSKPassPhrase OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	"The PSK, for when WPA in PSK mode is the selected authentication
	 suite, is configured by extremeSecurityKeyMgmtSuite.
	 An alternative manner of setting the PSK uses the password-to-key
	 algorithm defined in section XXX. This variable provides a means
	 to enter a pass phrase. When this object is written, the RSN entity
	 shall use the password-to-key algorithm specified in section XXX to
	 derive a pre-shared and populate extremeSecurityDot1xPSKValue with this key.
	 This object is logically write-only. Reading this variable shall
	 return unsuccessful status or null or zero."
	::= { extremeSecurityDot1xConfigEntry 4 }

extremeSecurityDot1xReAuthPeriod OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Number of seconds a clients authentication will last before
		 the AP automatically issues a reauthentication request."
	::= { extremeSecurityDot1xConfigEntry 5 }

extremeSecurityGroupUpdateTimeOut OBJECT-TYPE
	SYNTAX		Unsigned32 (1..1440)
	UNITS		"minutes"
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The time in minutes after which the RSN group
		 update handshake will be retried. The timer shall
		 start at the moment the group update message is
		 sent."
	REFERENCE "dot11RSNConfigGroupUpdateTimeOut"
	DEFVAL		{ 100 } -- 
	::= { extremeSecurityDot1xConfigEntry 6 }

extremeSecurityPairwiseUpdateTimeOut OBJECT-TYPE
	SYNTAX		Unsigned32 (1..1440)
	UNITS		"minutes"
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The time in minutes after which the RSN 4-way
		 handshake will be retried. The timer shall start at
		 the moment a 4-way message is sent."
	REFERENCE "dot11RSNConfigPairwiseUpdateTimeOut"
	DEFVAL		{ 100 } -- 
	::= { extremeSecurityDot1xConfigEntry 7 }

-- *************************************************************** --
--                     Default WEP Key Table                       --
-- *************************************************************** --
extremeWEPKeyTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ExtremeWEPKeyEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table contains per-profile WEP keys.

		 Reference ieee802dot11.1.2.3."
	::= { extremeSecurityProfile 4 }

extremeWEPKeyEntry OBJECT-TYPE
	SYNTAX	ExtremeWEPKeyEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	INDEX { extremeSecurityProfileIndex, extremeWEPKeyIndex }
	::= { extremeWEPKeyTable 1 }
	
ExtremeWEPKeyEntry ::= SEQUENCE {
	extremeWEPKeyIndex	INTEGER,
	extremeWEPKey		OCTET STRING,
	extremeWEPKeyStatus	RowStatus }
	
extremeWEPKeyIndex OBJECT-TYPE
	SYNTAX 		INTEGER(0..8)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"There can be upto 8 wep keys for any wireless
		 interface. Four of the keys are to be used with
		 WEP Authentication, and the other four with MAC Auth."
	::= { extremeWEPKeyEntry 1 }

extremeWEPKey OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(1..19))
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is a write-only wep key."
	::= { extremeWEPKeyEntry 2 }

extremeWEPKeyStatus OBJECT-TYPE
	SYNTAX		RowStatus
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"Standard row-creation semantics."
	::= { extremeWEPKeyEntry 3 }

-- *************************************************************** --
--              Wireless Physical Interface Config Table           --
-- *************************************************************** --
extremeWirelessPhysInterfaceConfigTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ExtremeWirelessPhysInterfaceConfigEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table contains the configured bindings between	
		 physical wireless interfaces and RF profiles and other
		 RF properties. There is one instance of a physical wireless
		 interface per radio on the AP.

		 Entries in this table have a duration that exceeds
		 the lifetime of entries in the wirelessPhysInterfaceCtlTable.
		 A configured binding spans the reset or removal of 
		 a wireless interface.

		 Entries can be removed from this table by the user.

		 If there is a mismatch between a new wireless port
		 and a previously configured profile, the default
		 profile will be applied and this table will be
		 updated."
	::= { extremeProfile 3 }

extremeWirelessPhysInterfaceConfigEntry OBJECT-TYPE
	SYNTAX	ExtremeWirelessPhysInterfaceConfigEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	INDEX { extremeWirelessPhysInterfaceIndex }
	::= { extremeWirelessPhysInterfaceConfigTable 1 }

ExtremeWirelessPhysInterfaceConfigEntry ::= SEQUENCE {
	extremeWirelessPhysInterfaceConfigRFProfile		INTEGER,
	extremeWirelessPhysInterfaceConfigRFChannel		INTEGER,
	extremeWirelessPhysInterfaceConfigSpeed		Dot11Speed,
	extremeWirelessPhysInterfaceConfigPowerLevel	INTEGER 
}
	
extremeWirelessPhysInterfaceConfigRFProfile OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is the index into the extremeRFProfileTable for
		 the RF profile that this wireless interface is bound 
		 to.  

		 The default value is equivalent to the profile index for
		 the interface-appropriate default in the table."
	::= { extremeWirelessPhysInterfaceConfigEntry 1 }
		 
extremeWirelessPhysInterfaceConfigRFChannel	OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is the RF channel which has been selected for this
		 wireless interface.  It should be one of the supported 
		 channels as given by the phy tables in the dot11 mib."
	::= { extremeWirelessPhysInterfaceConfigEntry 2 }

extremeWirelessPhysInterfaceConfigSpeed OBJECT-TYPE
	SYNTAX		Dot11Speed
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is the speed to configure the interface at. A value of 0 indicates
		 automatic speed detection."
	::= { extremeWirelessPhysInterfaceConfigEntry 3 }

extremeWirelessPhysInterfaceConfigPowerLevel OBJECT-TYPE
	SYNTAX		INTEGER 
	MAX-ACCESS 	read-create
	STATUS		current
	DESCRIPTION
		"This value specifies the tx power (in % of max power) to use."
	::= { extremeWirelessPhysInterfaceConfigEntry 4 }

-- *************************************************************** --
--              Wireless Virtual  Interface Config Table           --
-- *************************************************************** --
extremeWirelessVirtInterfaceConfigTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ExtremeWirelessVirtInterfaceConfigEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table contains the configured bindings between	
		 virtual wireless interfaces and security profiles and other
		 security properties. There are upto 8 virtual interface for
		 each physical interface.

		 Entries in this table have a duration that exceeds
		 the lifetime of entries in the wirelessVirtInterfaceCtlTable.
		 A configured binding spans the reset or removal of 
		 a wireless interface.

		 Entries can be removed from this table by the user."

	::= { extremeProfile 4 }

extremeWirelessVirtInterfaceConfigEntry OBJECT-TYPE
	SYNTAX	ExtremeWirelessVirtInterfaceConfigEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	INDEX { extremeWirelessVirtInterfaceIndex }
	::= { extremeWirelessVirtInterfaceConfigTable 1 }

ExtremeWirelessVirtInterfaceConfigEntry ::= SEQUENCE {
	extremeWirelessVirtInterfaceConfigSecurityProfile	INTEGER,
	extremeWirelessVirtInterfaceConfigMaxClients			INTEGER,
	extremeWirelessVirtInterfaceConfigWirelessBridging		TruthValue,
	extremeWirelessVirtInterfaceConfigState			INTEGER
}
	
extremeWirelessVirtInterfaceConfigSecurityProfile OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the index into the extremeSecurityProfileTable for
		 the security profile that this wireless interface is bound 
		 to.  

		 The default value is equivalent to the profile index for
		 the interface-appropriate default in the table."
	::= { extremeWirelessVirtInterfaceConfigEntry 1 }

extremeWirelessVirtInterfaceConfigMaxClients OBJECT-TYPE
	SYNTAX		INTEGER (1..128)
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The maximum number of clients that can associate with this virtual interface."
	::= { extremeWirelessVirtInterfaceConfigEntry 2 }

extremeWirelessVirtInterfaceConfigWirelessBridging OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This specifies whether wireless bridging is enabled on this interface.
		 If wireless bridging is enabled then traffic originating from a client on this
		 interface will be bridged to clients on the same VLAN on this or other 
		 virtual interfaces that have wireless bridging enabled. So basically
		 wireless bridging should be enabled on both the source and the destination
		 virtual interface for traffic to be bridged."
	::= { extremeWirelessVirtInterfaceConfigEntry 3 }

extremeWirelessVirtInterfaceConfigState OBJECT-TYPE
	SYNTAX		INTEGER { enabled(0), disabled(1) } 
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This value specifies whether the virtual interface is active or not"
	::= { extremeWirelessVirtInterfaceConfigEntry 4 }

-- *************************************************************** --
--                      Antenna Profile Table                     --
-- *************************************************************** --

extremeAntennaProfile OBJECT IDENTIFIER ::= { extremeProfile 5 }

extremeAntennaProfileTable OBJECT-TYPE
SYNTAX  SEQUENCE OF ExtremeAntennaProfileEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
        	"There is one entry in this table per  antenna
         	profile on the LAC.  Each profile is identified by a
         	string name."
    	::= { extremeAntennaProfile 1 }

extremeAntennaProfileEntry OBJECT-TYPE
SYNTAX      ExtremeAntennaProfileEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
""
    	INDEX { extremeAntennaProfileIndex }
    	::= { extremeAntennaProfileTable 1 }

ExtremeAntennaProfileEntry ::= SEQUENCE
{
    extremeAntennaProfileIndex 		INTEGER,
    extremeAntennaProfileName		DisplayString,
    extremeAntennaProfile2point4GHZGain	INTEGER,
    extremeAntennaProfile5GHZGain		INTEGER,
    extremeAntennaProfileStatus		RowStatus 
}

extremeAntennaProfileIndex OBJECT-TYPE
    SYNTAX      INTEGER(1..32)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This is an integer index used instead of string name."
    ::= { extremeAntennaProfileEntry 1 }

extremeAntennaProfileName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "This is a unique string name which identifies this
      profile.  The token |default| is special and should
      not be allowed."
    ::= { extremeAntennaProfileEntry 2 }

extremeAntennaProfile2point4GHZGain OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This specifies 2.4GHz gain value for detachable antenna in dbi"
    ::= { extremeAntennaProfileEntry 3 }

extremeAntennaProfile5GHZGain OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This specifies 5GHz gain value for detachable antenna in dbi"
    ::= { extremeAntennaProfileEntry 4 }

extremeAntennaProfileStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Standard row-creation semantics."
    ::= { extremeAntennaProfileEntry 5 }

-- *************************************************************** --
--                   RemoteConnect configuration                         --
-- *************************************************************** --


extremeWirelessRemoteConnectGlobalCfgGroup OBJECT IDENTIFIER ::=   { extremeProfile 6 }

extremeWirelessRemoteConnectGlobalBindingType OBJECT-TYPE
  SYNTAX		WirelessRemoteConnectBindingType
  MAX-ACCESS  read-write
  STATUS current
  DESCRIPTION
  "Global Binding Tye"
 ::= { extremeWirelessRemoteConnectGlobalCfgGroup 1 }

extremeWirelessRemoteConnectBindingTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessRemoteConnectBindingEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table specifies the RemoteConnect binding configuration for various ports."
	::= { extremeProfile 7 }

extremeWirelessRemoteConnectBindingEntry OBJECT-TYPE
	SYNTAX 		ExtremeWirelessRemoteConnectBindingEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	INDEX { extremeWirelessRemoteConnectBindingPortIndex }
	::= { extremeWirelessRemoteConnectBindingTable 1 }

ExtremeWirelessRemoteConnectBindingEntry ::= SEQUENCE {
	extremeWirelessRemoteConnectBindingPortIndex	INTEGER,
	extremeWirelessRemoteConnectBindingIfIndex	Integer32,
	extremeWirelessRemoteConnectBindingType	WirelessRemoteConnectBindingType,
	extremeWirelessRemoteConnectBindingMAC	MacAddress,
	extremeWirelessRemoteConnectBindingSerial	OCTET STRING,
	extremeWirelessRemoteConnectBindingIPAddressType	InetAddressType,
	extremeWirelessRemoteConnectBindingIPAddress	InetAddress,
	extremeWirelessRemoteConnectBindingEnabled	TruthValue,
	extremeWirelessRemoteConnectBindingBound	TruthValue,
	extremeWirelessRemoteConnectBindingRowStatus	RowStatus}

extremeWirelessRemoteConnectBindingPortIndex	OBJECT-TYPE
	SYNTAX	INTEGER(1..48)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION	"The index of this binding. This maps one-to-one with the value
			specified in the CLI. For example, if you say v:1 in the CLI, then
			this value should be 1."
	::= { extremeWirelessRemoteConnectBindingEntry 1}

extremeWirelessRemoteConnectBindingIfIndex	OBJECT-TYPE
	SYNTAX	Integer32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"This is the IF index that is used in the extremeWirelessPortConfigTable
			etc to refer to this RemoteConnect port."
	::= { extremeWirelessRemoteConnectBindingEntry 2}

extremeWirelessRemoteConnectBindingType OBJECT-TYPE
	SYNTAX		WirelessRemoteConnectBindingType
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is the type of binding. Based on this, one of the following columns will be valid."
	::= { extremeWirelessRemoteConnectBindingEntry 3 }

extremeWirelessRemoteConnectBindingMAC OBJECT-TYPE
	SYNTAX		MacAddress
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The MAC address of the AP that is bound to this virtual port. 
			This is valid only if the extremeWirelessRemoteConnectBindingType is set to
			mac-address"
	::= { extremeWirelessRemoteConnectBindingEntry 4}

extremeWirelessRemoteConnectBindingSerial OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The serial number of the AP that is bound to this virtual port. 
			This is valid only if the extremeWirelessRemoteConnectBindingType is set to
			serial-number"
	::= { extremeWirelessRemoteConnectBindingEntry 5}

extremeWirelessRemoteConnectBindingIPAddressType OBJECT-TYPE
	SYNTAX		InetAddressType
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The IP address type of the AP that is bound to this virtual port. 
			This is valid only if the extremeWirelessRemoteConnectBindingType is set to
			ip-address"
	::= { extremeWirelessRemoteConnectBindingEntry 6}

extremeWirelessRemoteConnectBindingIPAddress OBJECT-TYPE
	SYNTAX		InetAddress
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The IP address of the AP that is bound to this virtual port. 
			This is valid only if the extremeWirelessRemoteConnectBindingType is set to
			ip-address"
	::= { extremeWirelessRemoteConnectBindingEntry 7}

extremeWirelessRemoteConnectBindingEnabled	OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS 		current
	DESCRIPTION	"An entry in this table can be created but left as disabled. If you 
			set this variable to True then the RemoteConnect controller will consider
			this binding when trying to map APs to RemoteConnect ports. Else, it will
			ignore it."
	::= {extremeWirelessRemoteConnectBindingEntry 8}

extremeWirelessRemoteConnectBindingBound	OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS 		current
	DESCRIPTION	"Specifies if an AP has come up and has been matched to this binding.
			If this is true, then the extremeWirelessPortStatus table will have
			an entry for this RemoteConnect port."
	::= {extremeWirelessRemoteConnectBindingEntry 9}

extremeWirelessRemoteConnectBindingRowStatus	OBJECT-TYPE
	SYNTAX		RowStatus
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"RowStatus attribute. When this row is deleted, the binding goes away"
	::= {extremeWirelessRemoteConnectBindingEntry 10}

-- ***************************************************************************************
-- This table specifies how the controller should choose to redirect certain APs to other
-- controllers
-- ***************************************************************************************
extremeWirelessRemoteConnectRedirectBindingTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessRemoteConnectRedirectBindingEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table specifies the RemoteConnect redirection configuration for various ports."
	::= { extremeProfile 8 }

extremeWirelessRemoteConnectRedirectBindingEntry OBJECT-TYPE
	SYNTAX 		ExtremeWirelessRemoteConnectRedirectBindingEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	INDEX { extremeWirelessRemoteConnectRedirectBindingIndex }
	::= { extremeWirelessRemoteConnectRedirectBindingTable 1 }

ExtremeWirelessRemoteConnectRedirectBindingEntry ::= SEQUENCE {
	extremeWirelessRemoteConnectRedirectBindingIndex	INTEGER,
	extremeWirelessRemoteConnectRedirectBindingType	WirelessRemoteConnectBindingType,
	extremeWirelessRemoteConnectRedirectBindingMAC	MacAddress,
	extremeWirelessRemoteConnectRedirectBindingSerial	OCTET STRING,
	extremeWirelessRemoteConnectRedirectBindingIPAddressType	InetAddressType,
	extremeWirelessRemoteConnectRedirectBindingIPAddress	InetAddress,
	extremeWirelessRemoteConnectRedirectBindAttachSwitchIPAddrType	InetAddressType,
	extremeWirelessRemoteConnectRedirectBindAttachSwitchIPAddr	InetAddress,
	extremeWirelessRemoteConnectRedirectBindingEnabled		TruthValue,
	extremeWirelessRemoteConnectRedirectBindingNumRedirects	Counter32,
	extremeWirelessRemoteConnectRedirectBindingRowStatus		RowStatus}

extremeWirelessRemoteConnectRedirectBindingIndex	OBJECT-TYPE
	SYNTAX	INTEGER(1..255)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION	"The index of this RedirectBinding."
	::= { extremeWirelessRemoteConnectRedirectBindingEntry 1}

extremeWirelessRemoteConnectRedirectBindingType OBJECT-TYPE
	SYNTAX		WirelessRemoteConnectBindingType
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		"This is the type of RedirectBinding. Based on this, one of the following columns will be valid."
	::= { extremeWirelessRemoteConnectRedirectBindingEntry 2 }

extremeWirelessRemoteConnectRedirectBindingMAC OBJECT-TYPE
	SYNTAX		MacAddress
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The MAC address of the AP that will be redirected. 
			This is valid only if the extremeWirelessRemoteConnectRedirectBindingType is set to
			mac-address"
	::= { extremeWirelessRemoteConnectRedirectBindingEntry 3}

extremeWirelessRemoteConnectRedirectBindingSerial OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The serial number of the AP that is bound to this virtual port. 
			This is valid only if the extremeWirelessRemoteConnectRedirectBindingType 
			is set to serial-number"
	::= { extremeWirelessRemoteConnectRedirectBindingEntry 4}

extremeWirelessRemoteConnectRedirectBindingIPAddressType OBJECT-TYPE
	SYNTAX		InetAddressType
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The IP address type of the AP that will be redirected. 
			This is valid only if the extremeWirelessRemoteConnectRedirectBindingType 
			is set to ip-address"
	::= { extremeWirelessRemoteConnectRedirectBindingEntry 5}

extremeWirelessRemoteConnectRedirectBindingIPAddress OBJECT-TYPE
	SYNTAX		InetAddress
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The IP address of the AP that will be redirected. 
			This is valid only if the extremeWirelessRemoteConnectRedirectBindingType 
			is set to ip-address"
	::= { extremeWirelessRemoteConnectRedirectBindingEntry 6}

extremeWirelessRemoteConnectRedirectBindAttachSwitchIPAddrType OBJECT-TYPE
	SYNTAX		InetAddressType
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The IP address type of the slave "
	::= { extremeWirelessRemoteConnectRedirectBindingEntry 7}

extremeWirelessRemoteConnectRedirectBindAttachSwitchIPAddr OBJECT-TYPE
	SYNTAX		InetAddress
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"The IP address of the slave"
	::= { extremeWirelessRemoteConnectRedirectBindingEntry 8}

extremeWirelessRemoteConnectRedirectBindingEnabled	OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS 		current
	DESCRIPTION	"An entry in this table can be created but left as disabled. If you 
			set this variable to True then the RemoteConnect controller will consider
			this RedirectBinding when trying to redirect APs. Else, it will
			ignore it."
	::= {extremeWirelessRemoteConnectRedirectBindingEntry 9}

extremeWirelessRemoteConnectRedirectBindingNumRedirects	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"The number of times this redirect has been invoked."
	::= {extremeWirelessRemoteConnectRedirectBindingEntry 10}

extremeWirelessRemoteConnectRedirectBindingRowStatus	OBJECT-TYPE
	SYNTAX	RowStatus
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION	"Standard row status semantics."
	::= {extremeWirelessRemoteConnectRedirectBindingEntry 11}

-- ***************************************************************************************
-- This table specifies the list of APs that could not be bound or redirected due to 
-- a lack of mapping on this controller
-- ***************************************************************************************

extremeWirelessRemoteConnectDeviceDBGroup OBJECT IDENTIFIER ::=   { extremeProfile 9 }

extremeWirelessRemoteConnectDeviceDBTimeOut OBJECT-TYPE
  SYNTAX  INTEGER (0 | 30..3600)
  MAX-ACCESS  read-write
  STATUS current
  DESCRIPTION
  "Timeout value for unbound APs entry in seconds. 0 for disable"
 ::= { extremeWirelessRemoteConnectDeviceDBGroup 1 }


extremeWirelessRemoteConnectUnboundAPsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessRemoteConnectUnboundAPsEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table contains the list of APs that could not be bound or redirected."
	::= { extremeProfile 10 }

extremeWirelessRemoteConnectUnboundAPsEntry OBJECT-TYPE
	SYNTAX 		ExtremeWirelessRemoteConnectUnboundAPsEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	INDEX { extremeWirelessRemoteConnectUnboundAPsIndex }
	::= { extremeWirelessRemoteConnectUnboundAPsTable 1 }

ExtremeWirelessRemoteConnectUnboundAPsEntry ::= SEQUENCE {
	extremeWirelessRemoteConnectUnboundAPsIndex	INTEGER,
	extremeWirelessRemoteConnectUnboundAPsMAC	MacAddress,
	extremeWirelessRemoteConnectUnboundAPsSerial	OCTET STRING,
	extremeWirelessRemoteConnectUnboundAPsIPAddressType	InetAddressType,
	extremeWirelessRemoteConnectUnboundAPsIPAddress	InetAddress,
	extremeWirelessRemoteConnectUnboundAPsNumAttempts	Counter32,
	extremeWirelessRemoteConnectUnboundAPsRowStatus	RowStatus}

extremeWirelessRemoteConnectUnboundAPsIndex	OBJECT-TYPE
	SYNTAX	INTEGER(0..65535)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION	"The index of this table."
	::= { extremeWirelessRemoteConnectUnboundAPsEntry 1}

extremeWirelessRemoteConnectUnboundAPsMAC OBJECT-TYPE
	SYNTAX		MacAddress
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The MAC address of the unbound AP."
	::= { extremeWirelessRemoteConnectUnboundAPsEntry 2}

extremeWirelessRemoteConnectUnboundAPsSerial OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The serial number of the unbound AP"
	::= { extremeWirelessRemoteConnectUnboundAPsEntry 3}

extremeWirelessRemoteConnectUnboundAPsIPAddressType OBJECT-TYPE
	SYNTAX		InetAddressType
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The IP address type of the unbound AP"
	::= { extremeWirelessRemoteConnectUnboundAPsEntry 4}

extremeWirelessRemoteConnectUnboundAPsIPAddress OBJECT-TYPE
	SYNTAX		InetAddress
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION	"The IP address of the unbound AP"
	::= { extremeWirelessRemoteConnectUnboundAPsEntry 5}

extremeWirelessRemoteConnectUnboundAPsNumAttempts	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION	"The number of times this AP contacted this controller."
	::= {extremeWirelessRemoteConnectUnboundAPsEntry 6}

extremeWirelessRemoteConnectUnboundAPsRowStatus	OBJECT-TYPE
	SYNTAX	RowStatus
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION	"Standard row status semantics. Only valid value to set is destroy (6)."
	::= {extremeWirelessRemoteConnectUnboundAPsEntry 7}

-- *************************************************************** --
--                   RADIUS Server Configuration                   --
-- The Radius Server Table on the Ethernet switch is implemented   --
-- using the extremeAuthServerTable, defines under extremeServices --
--                                                                 --
-- The extremeAPAuthServerTable is implemented per wireless port.  --
-- Each AP will have to implement this table to allow the LAC to   --
-- propogate configuration information.                            --
-- *************************************************************** --
extremeAPAuthServerTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF ExtremeAPAuthServerEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"This table is proxied by the wireless APs.  It 
		 allows the wireless concentrator to configure the 
		 APs security settings."
	::= { extremeAP 12 }

extremeAPAuthServerEntry OBJECT-TYPE
	SYNTAX 		ExtremeAPAuthServerEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	INDEX { extremeWirelessPortIfIndex, extremeAPAuthServerIndex }
	::= { extremeAPAuthServerTable 1 }

ExtremeAPAuthServerEntry ::= SEQUENCE {
	extremeAPAuthServerIndex		INTEGER,
	extremeAPAuthServerAddressType          InetAddressType,
	extremeAPAuthServerAddress 		InetAddress,
	extremeAPAuthServerPort                 INTEGER,
	extremeAPAuthServerSecret 		OCTET STRING,
	extremeAPAuthServerReTransmit		INTEGER,
	extremeAPAuthServerStatus		TruthValue}

extremeAPAuthServerIndex OBJECT-TYPE
	SYNTAX		INTEGER (1..2)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"Integer representing either primary (1) or backup
		 (2) server."
	::= { extremeAPAuthServerEntry 1 }

extremeAPAuthServerAddressType          OBJECT-TYPE
        SYNTAX                          InetAddressType
        MAX-ACCESS                      read-only
        STATUS                          current
        DESCRIPTION
            "The type of address specified in the object
                'extremeAuthServerAddress'.
             Currently, only 'ipv4' and 'dns' are supported."
        DEFVAL { ipv4 }
      ::= { extremeAPAuthServerEntry 2 }

extremeAPAuthServerAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "IP address of the radius server.  The act of
                 assigning an IP address enables the client to use
                 the server.  Setting this value to 0.0.0.0 disables
                 this entry."
        ::= { extremeAPAuthServerEntry 3 }

extremeAPAuthServerPort                    OBJECT-TYPE
       SYNTAX                          INTEGER (0..65535)
       MAX-ACCESS                      read-only
       STATUS                          current
       DESCRIPTION
           "The UDP port number of the remote syslog server
                to which syslog messages will be sent."
     ::= { extremeAPAuthServerEntry 4 }

extremeAPAuthServerSecret OBJECT-TYPE
        SYNTAX          OCTET STRING
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "This is the shared secret between the Authenticator
                 and radius server.  This is logically write-only."
        ::= { extremeAPAuthServerEntry 5 }

extremeAPAuthServerReTransmit OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"This is the timeout in seconds after which the 
		 Authenticator will re transmit requests to the
		 radius server."
	::= { extremeAPAuthServerEntry 6 }

extremeAPAuthServerStatus OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
                "Specifies whether the DNS entry is in use or not"
	::= { extremeAPAuthServerEntry 7 }

-- *************************************************************** --
-- Scan Configuration Table : This table provides the ability to   --
-- configure the parameters associated with ON-Channel scanning    --
-- for other access points.                                        --
-- *************************************************************** --
extremeWirelessScanCfgTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessScanCfgEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one entry per wireless interface.  It
	 allows for configuration of active and passive scan
	 parameters."
	 ::= { extremeAP 24 }

extremeWirelessScanCfgEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessScanCfgEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex }
	 ::= { extremeWirelessScanCfgTable 1 }

ExtremeWirelessScanCfgEntry ::= SEQUENCE {
	extremeWirelessScanEnable			TruthValue,
	extremeWirelessScanSendProbe			TruthValue,
	extremeWirelessScanProbeInterval		Unsigned32,
	extremeWirelessScanResultTableSize		Unsigned32,
	extremeWirelessScanResultTimeout		Unsigned32,
	extremeWirelessScanResetStats			TruthValue,
	extremeWirelessScanClearTable			TruthValue,
	extremeWirelessScanSendAPAddedTrap		TruthValue,
	extremeWirelessScanSendAPRemovedTrap		TruthValue,
	extremeWirelessScanSendAPUpdatedTrap		TruthValue
}

extremeWirelessScanEnable OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"By setting this to true the wireless interface will collect
	 information from beacons and (possible) probe responses.  If
	 this value is set to false this information will not be 
	 collected."
	DEFVAL { true }
	 ::= { extremeWirelessScanCfgEntry 1 }

extremeWirelessScanSendProbe OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"If this value is set to TRUE the wireless interface will send
	 probe requests to the broadcast SSID every ProbeInterval.  The
	 results of these probes will be recorded in the scan results
	 table.  If this is false, the AP will only collect information
	 from beacon frames."
	DEFVAL { false }
	 ::= { extremeWirelessScanCfgEntry 2 }

extremeWirelessScanProbeInterval OBJECT-TYPE
	SYNTAX Unsigned32
	UNITS "milliseconds"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This allows for the configuration of the interval over which
	 probe requests will be sent."
	DEFVAL { 100 }
	 ::= { extremeWirelessScanCfgEntry 3 }

extremeWirelessScanResultTableSize OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This parameter permits the configuration of the result table
	 size.  If there are more entries discovered than there are 
	 room for the new entry will replace the oldest entry in the
	 table.  In this case a new entry trap will be sent with the
	 OverFlow value set to TRUE."
	DEFVAL { 1024 }
	 ::= { extremeWirelessScanCfgEntry 4 }

extremeWirelessScanResultTimeout OBJECT-TYPE
	SYNTAX Unsigned32
	UNITS "seconds"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"By default the scan result table will age out entries which
	 haven't been updated for some time.  When an entry is aged
	 out of the table a scanResultAgeOut trap is generated.  
	 Setting this value to 0 will disable the aging out of entries."
	DEFVAL { 3600 }
	 ::= { extremeWirelessScanCfgEntry 5 }

extremeWirelessScanResetStats OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE will cause the scan module to reset its
	 internal statistics, as well as the packet counts for each 
	 entry in the scan results table.  It will *not* remove any
	 entries in the scan table."
	 ::= { extremeWirelessScanCfgEntry 6 }

extremeWirelessScanClearTable OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE will cause the scan module to reset its
	 internal table.  All currently detected stations will be 
	 removed.  Scan statistics (i.e. watermark) will not be reset."
	 ::= { extremeWirelessScanCfgEntry 7 }

extremeWirelessScanSendAPAddedTrap OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE will cause the scan module to send a trap
	 whenever a new entry is added to the scan results table.  If
	 this value is false the scan module will suppress the trap."
	DEFVAL { true }
	 ::= { extremeWirelessScanCfgEntry 8 }

extremeWirelessScanSendAPRemovedTrap OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE will cause the scan module to send a trap
	 whenever an entry is removed from the scan results table."
	DEFVAL { true }
	 ::= { extremeWirelessScanCfgEntry 9 }

extremeWirelessScanSendAPUpdatedTrap OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE will cause the scan module to send a trap
	 whenever an entry is updated in the scan results table.  This 
	 will happen if the list of IEs sent from a particular MAC address
	 changes."
	DEFVAL { true }
	 ::= { extremeWirelessScanCfgEntry 10 }

-- *************************************************************** --
-- Off-Channel AP Scan : This table provides the ability to confi  --
-- ure and start an off-channel scan for other APs.                --
-- *************************************************************** --
extremeWirelessOffChannelScanCfgTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessOffChannelScanCfgEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one entry per wireless interface.  It
	 allows for configuration of off-channel scan.  To start an
	 off-channel scan the management station should write values
	 for channel list, min and max wait.  Toggling the start
	 value at this point will start an off-channel scan, unless
	 one is already running.
	 Results of the off-channel scan are reported to the scan
	 results table together with the results of passive scan."
	 ::= { extremeAP 25 }

extremeWirelessOffChannelScanCfgEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessOffChannelScanCfgEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex }
	 ::= { extremeWirelessOffChannelScanCfgTable 1 }

ExtremeWirelessOffChannelScanCfgEntry ::= SEQUENCE {
	extremeWirelessOffChannelScanStart		TruthValue,
	extremeWirelessOffChannelScanList		BITS,
	extremeWirelessOffChannelScanMinWait		Unsigned32,
	extremeWirelessOffChannelScanMaxWait		Unsigned32,
	extremeWirelessOffChannelContinuous		TruthValue
}

extremeWirelessOffChannelScanStart OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE will cause the scan module to start an
	 off-channel scan.  The radio will be disabled for the 
	 duration of the scan.  The scan module will change to each 
	 of the specified channels in order.  It will then conduct 
	 passive (and perhaps active) scans on that channel for the 
	 configured intervals.  When the scan is finished the radio 
	 will be re-enabled.
	 The scan will wait on each channel for at least MinWait 
	 milliseconds even if it sees no traffic on the channel. It
	 will wait for at most MaxWait msecs even if it sees traffic.
	 As a result the best case time for the scan is given by:
	 	# Of Channels * extremeWirelessOffChannelScanMinWait
 	 The worst case completion time is given by:
	 	# Of Channels * extremeWirelessOffChannelScanMaxWait
	 Results of the off-channnel scan a reported to the scan 
	 results table."
	 ::= { extremeWirelessOffChannelScanCfgEntry 1 }

extremeWirelessOffChannelScanList OBJECT-TYPE
	SYNTAX BITS {
		scanAll(0),
		scanEvery(1),
		scanChannel1(2),
		scanChannel2(3),
		scanChannel3(4),
		scanChannel4(5),
		scanChannel5(6),
		scanChannel6(7),
		scanChannel7(8),
		scanChannel8(9),
		scanChannel9(10),
		scanChannel10(11),
		scanChannel11(12),
		scanChannel12(13),
		scanChannel13(14),
		scanChannel14(15),
		scanChannel34(16),
		scanChannel36(17),
		scanChannel40(18),
		scanChannel44(19),
		scanChannel48(20),
		scanChannel52(21),
		scanChannel56(22),
		scanChannel60(23),
		scanChannel64(24),
		scanChannel100(25),
		scanChannel104(26),
		scanChannel108(27),
		scanChannel113(28),
		scanChannel116(29),
		scanChannel120(30),
		scanChannel124(31),
		scanChannel128(32),
		scanChannel132(33),
		scanChannel140(34),
		scanChannel149(35),
		scanChannel153(36),
		scanChannel157(37),
		scanChannel161(38),
		scanChannel165(39)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This value controls the channels which will be scanned during
	 the off-channel scan.  Two special values should be noted:
	 
	 all -   causes the radio to scan all channels supported by
	         the configured country code.  While on each channel
		     the radio will send out probe requests if the value
		     of extremeWirelessScanSendProbeRequest is true.
	 every - causes the radio to scan all channels, even those
	 	     which are restricted by the country code.  The
			 radio will only send probe request on channels that
			 are legal for that country code."
	 ::= { extremeWirelessOffChannelScanCfgEntry 2 }

extremeWirelessOffChannelScanMinWait OBJECT-TYPE
	SYNTAX Unsigned32
	UNITS "milliseconds"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This value controls the minimum time the off-channel scan
	 will wait on a particular channel if it doesn't see any
	 traffic."
	 DEFVAL { 1 }
	 ::= { extremeWirelessOffChannelScanCfgEntry 3 }

extremeWirelessOffChannelScanMaxWait OBJECT-TYPE
	SYNTAX Unsigned32
	UNITS "milliseconds"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This value controls the maximum time the off-channel scan will
	 wait on a particular channel even if it is receiving beacons
	 etc."
	 DEFVAL { 10 }
	 ::= { extremeWirelessOffChannelScanCfgEntry 4 }

extremeWirelessOffChannelContinuous OBJECT-TYPE
 	SYNTAX TruthValue
 	MAX-ACCESS read-write
 	STATUS current
 
 	DESCRIPTION
 	"Setting this value to true results in the off-channel scan
 	looping on the configured values until the channel scan is
 	disabled."
 	DEFVAL { false }
 	 ::= { extremeWirelessOffChannelScanCfgEntry 5 }
 


-- *************************************************************** --
-- Scan Status Table : This table contains information about the   --
-- current status of the scan feature.                             --
-- *************************************************************** --
extremeWirelessScanStatusTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessScanStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one entry per wireless interface.  It
	 provides status and statistics information for the scan 
	 feature operating on that wireless interface."
	 ::= { extremeAP 26 }

extremeWirelessScanStatusEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessScanStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex }
	 ::= { extremeWirelessScanStatusTable 1 }

ExtremeWirelessScanStatusEntry ::= SEQUENCE {
	extremeWirelessScanCurrentTableSize 	Unsigned32,
	extremeWirelessScanTableWatermark 	Unsigned32,
	extremeWirelessScanTotalOverflows	Unsigned32,
	extremeWirelessScanTotalTimeouts	Unsigned32,
	extremeWirelessScanOffChannelRunning	TruthValue,
	extremeWirelessScanCurrentChannel	Unsigned32,
	extremeWirelessScanLastElement		TimeTicks,
	extremeWirelessScanNumProbes		Unsigned32
}

extremeWirelessScanCurrentTableSize OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This indicates the current number of entries in the scan results
	 table."
	 ::= { extremeWirelessScanStatusEntry 1 }

extremeWirelessScanTableWatermark OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This indicates the largest size the results table has reached
	 since the status values have been reset, or the system has
	 booted."
	 ::= { extremeWirelessScanStatusEntry 2 }

extremeWirelessScanTotalOverflows OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of entries which have been removed
	 to make room for a newer entry.   This should be equal to the
	 number of AP added traps the system has generated with the 
	 overflow value set to true."
	 ::= { extremeWirelessScanStatusEntry 3 }

extremeWirelessScanTotalTimeouts OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of entries which have been removed
	 because they have become stale.  This should be equal to the 
	 number of AP removed traps sent by the system."
	 ::= { extremeWirelessScanStatusEntry 4 }

extremeWirelessScanOffChannelRunning OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"If this value is true it indicates that an off-channel scan is
	 currently running.  This implies that the radio is current
	 disabled."
	 ::= { extremeWirelessScanStatusEntry 5 }

extremeWirelessScanCurrentChannel OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"If the value of extremeWirelessScanOffChannelRunning is true
	 this variable give the value of the current channel the AP is
	 scanning on.  If a scan is not running, the value of this variable
	 is undefined."
	 ::= { extremeWirelessScanStatusEntry 6 }

extremeWirelessScanLastElement OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the sysUpTime when the last new station was inserted
	 in the results table."
	 ::= { extremeWirelessScanStatusEntry 7 }

extremeWirelessScanNumProbes OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of probe requests sent by this wireless 
	 interface."
	 ::= { extremeWirelessScanStatusEntry 8 }

-- *************************************************************** --
-- Scan Results Table : This table provides information collected  --
-- during on and off-channel scans about the APs discovered.       --
-- *************************************************************** --
extremeWirelessScanResultsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessScanResultsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one entry per wireless interface.  It
	 provides status and statistics information for the scan 
	 feature operating on that wireless interface."
	 ::= { extremeAP 27 }

extremeWirelessScanResultsEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessScanResultsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex, extremeWirelessScanResultsStationId }
	 ::= { extremeWirelessScanResultsTable 1 }

ExtremeWirelessScanResultsEntry ::= SEQUENCE {
	extremeWirelessScanResultsStationId		 MacAddress,
	extremeWirelessScanResultsFirstSeen		 TimeTicks,
	extremeWirelessScanResultsLastChange		 TimeTicks,
	extremeWirelessScanResultsPacketTime		 INTEGER,
	extremeWirelessScanResultsPacketRate	 	 INTEGER,
	extremeWirelessScanResultsChannel		 INTEGER,
	extremeWirelessScanResultsMinRSS		 INTEGER,
	extremeWirelessScanResultsMaxRSS		 INTEGER,
	extremeWirelessScanResultsAvgRSS		 INTEGER,
	extremeWirelessScanResultsTotalBeacons		 Unsigned32,
	extremeWirelessScanResultsTotalProbes		 Unsigned32,
	extremeWirelessScanResultsDiscoveredBy		 INTEGER,
	extremeWirelessScanResultsDSSOFDM		 TruthValue,
	extremeWirelessScanResultsRSNEnabled		 TruthValue,
	extremeWirelessScanResultsGShortSlot		 TruthValue,
	extremeWirelessScanResultsChannelAgility	 TruthValue,
	extremeWirelessScanResultsPBCC			 TruthValue,
	extremeWirelessScanResultsPreamble		 TruthValue,
	extremeWirelessScanResultsPrivacy		 TruthValue,
	extremeWirelessScanResultsCFPollReq		 TruthValue,
	extremeWirelessScanResultsCFPollable		 TruthValue,
	extremeWirelessScanResultsNetworkType 		 INTEGER,
	extremeWirelessScanResultsSSID 			 OCTET STRING,
	extremeWirelessScanResultsRateSet		 OCTET STRING,
	extremeWirelessScanResultsExtRateSet		 OCTET STRING,
	extremeWirelessScanResultsDSSParameter		 INTEGER,
	extremeWirelessScanResultsTIMCount	 	 INTEGER,
	extremeWirelessScanResultsTIMPeriod	 	 INTEGER,
	extremeWirelessScanResultsTIMTrafficInd	 	 TruthValue,
	extremeWirelessScanResultsCountryCode		 OCTET STRING,
	extremeWirelessScanWPAIEPresent			 TruthValue,
	extremeWirelessScanWPAVersion			 Unsigned32,
	extremeWirelessScanWPAIEMcastCipher		 WPACipherSet,
	extremeWirelessScanWPAUcastCipherCount		 Unsigned32,
	extremeWirelessScanWPAUcastCipher		 WPACipherSet,
	extremeWirelessScanWPAKeyMgmtCount		 Unsigned32,
	extremeWirelessScanWPAKeyMgmtSuite		 WPAKeyMgmtSet,
	extremeWirelessScanResultsIEBlob	 	 OCTET STRING
}
	
extremeWirelessScanResultsStationId OBJECT-TYPE
	SYNTAX MacAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the MAC address of the detected station."
	 ::= { extremeWirelessScanResultsEntry 1 }

extremeWirelessScanResultsFirstSeen OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the sysUpTime when this station entry was created."
	 ::= { extremeWirelessScanResultsEntry 2 }

extremeWirelessScanResultsLastChange OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the sysUpTime of the station entry the last time it was
	 updated (i.e. a beacon etc was received)."
	 ::= { extremeWirelessScanResultsEntry 3 }

extremeWirelessScanResultsPacketTime OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the timestamp field from the last beacon/probe response
	 received from this station."
	 ::= { extremeWirelessScanResultsEntry 4 }

extremeWirelessScanResultsPacketRate OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the rate at which the last packet was sent by the
	 station.

	 TODO: What are the units here on rate?"
	 ::= { extremeWirelessScanResultsEntry 5 }

extremeWirelessScanResultsChannel OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the channel the last packet received by this station
	 was recieved on."
	 ::= { extremeWirelessScanResultsEntry 6 }

extremeWirelessScanResultsMinRSS OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the smallest RSS value of any packet recieved from this
	 station."
	 ::= { extremeWirelessScanResultsEntry 7 }

extremeWirelessScanResultsMaxRSS OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the largest RSS value of any packet recieved from this
	 station."
	 ::= { extremeWirelessScanResultsEntry 8 }

extremeWirelessScanResultsAvgRSS OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is a running average of RSS values of all the packets
	 received from this station."
	 ::= { extremeWirelessScanResultsEntry 9 }

extremeWirelessScanResultsTotalBeacons OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This counter gives the total number of beacons received from this
	 station."
	 ::= { extremeWirelessScanResultsEntry 10 }

extremeWirelessScanResultsTotalProbes OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This counter gives the total number of probe responses
	 received from this station."
	 ::= { extremeWirelessScanResultsEntry 11 }

extremeWirelessScanResultsDiscoveredBy OBJECT-TYPE
	SYNTAX INTEGER { probe (1),
   		         beacon (2) }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the type of packet which cause this results entry to be
	 created."
	 ::= { extremeWirelessScanResultsEntry 12 }

extremeWirelessScanResultsDSSOFDM OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO : What is this?"
	 ::= { extremeWirelessScanResultsEntry 13 }

extremeWirelessScanResultsRSNEnabled OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Indicates if RSN capabilities are enabled on the sending station."
	 ::= { extremeWirelessScanResultsEntry 14 }

extremeWirelessScanResultsGShortSlot OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO : What is this?"
	 ::= { extremeWirelessScanResultsEntry 15 }

extremeWirelessScanResultsChannelAgility OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO : What is this?"
	 ::= { extremeWirelessScanResultsEntry 16 }

extremeWirelessScanResultsPBCC OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO : What is this?"
	 ::= { extremeWirelessScanResultsEntry 17 }

extremeWirelessScanResultsPreamble OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO : What is this?"
	 ::= { extremeWirelessScanResultsEntry 18 }

extremeWirelessScanResultsPrivacy OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is true if MAC-based privacy is invoked on the sending
	 station."
	 ::= { extremeWirelessScanResultsEntry 19 }

extremeWirelessScanResultsCFPollReq OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO: What is this?"
	 ::= { extremeWirelessScanResultsEntry 20 }

extremeWirelessScanResultsCFPollable OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO: What is this?"
	 ::= { extremeWirelessScanResultsEntry 21 }

extremeWirelessScanResultsNetworkType OBJECT-TYPE
	SYNTAX INTEGER { ibss (1),
   		   	 bss  (2) }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This indicates what type of network it is.  If this value is IBSS
	 the last beacon/probe response was sent by a host operating in
	 ad-hoc mode."
	 ::= { extremeWirelessScanResultsEntry 22 }

extremeWirelessScanResultsSSID OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This provides the value of the SSID value as is was recieved in
	 the beacon or probe response.  If no SSID was sent in the probe
	 this value is NULL."
	 ::= { extremeWirelessScanResultsEntry 23 }

extremeWirelessScanResultsRateSet OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This provides the value of the rate set IE as it was received in
	 the beacon or probe response.  If no rate set was recieved then
	 this value is NULL."
	 ::= { extremeWirelessScanResultsEntry 24 }

extremeWirelessScanResultsExtRateSet OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This provides the value of the extended rate set IE as it was 
	 received in the beacon or probe response.  If no rate set was 
	 recieved then this value is NULL."
	 ::= { extremeWirelessScanResultsEntry 25 }

extremeWirelessScanResultsDSSParameter OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Provides the value of the DSS parameter IE, which is the channel."
	 ::= { extremeWirelessScanResultsEntry 26 }

extremeWirelessScanResultsTIMCount OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO: What is this?"
	 ::= { extremeWirelessScanResultsEntry 27 }

extremeWirelessScanResultsTIMPeriod OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO: What is this?"
	 ::= { extremeWirelessScanResultsEntry 28 }

extremeWirelessScanResultsTIMTrafficInd OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO: What is this?"
	 ::= { extremeWirelessScanResultsEntry 29 }

extremeWirelessScanResultsCountryCode OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Value of country code supplied by the IE"
	 ::= { extremeWirelessScanResultsEntry 30 }

extremeWirelessScanWPAIEPresent OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"If this value is true it indicates that WPA information was
	 gathered from this AP in the last beacon.  It implies that
	 the WPA variables below are valid.
	 If this value is false it indicates that this AP did not 
	 send a WPA IE in its last beacon, and the values below are
	 meaningless."
	::= { extremeWirelessScanResultsEntry 31 }

extremeWirelessScanWPAVersion OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value gives the version of WPA supported by this AP.
	 See IEEE 802.11i Draft 3.0 section 7 for meaning of various
	 values."
	::= { extremeWirelessScanResultsEntry 32 }

extremeWirelessScanWPAIEMcastCipher OBJECT-TYPE
	SYNTAX WPACipherSet
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value gives the single multicast cipher supported by this
	 AP."
	::= { extremeWirelessScanResultsEntry 33 }

extremeWirelessScanWPAUcastCipherCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value gives the total number of unicast ciphers supported
	 by this AP.  It corresponds to the number of bits set in the 
	 extremeWirelessScanWPAUcastCipher variable."
	::= { extremeWirelessScanResultsEntry 34 }

extremeWirelessScanWPAUcastCipher OBJECT-TYPE
	SYNTAX WPACipherSet
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the list of cipher suites which are supported by 
	 this AP."
	::= { extremeWirelessScanResultsEntry 35 }

extremeWirelessScanWPAKeyMgmtCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of key-management schemes supported by
	 this AP.  It corresponds to the number of bits set in the
	 extremeWirelessScanWPAKeyMgmtSuite variable."
	::= { extremeWirelessScanResultsEntry 36 }

extremeWirelessScanWPAKeyMgmtSuite OBJECT-TYPE
	SYNTAX WPAKeyMgmtSet
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This indicates the supported key-management suites supported
	 by this AP."
	::= { extremeWirelessScanResultsEntry 37 }

extremeWirelessScanResultsIEBlob OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"All the IEs received in the last packet encoded as a blob of
	 Type, Length, Value tuples."
	 ::= { extremeWirelessScanResultsEntry 38 }

-- *************************************************************** --
-- Probe Info Configuration Table : This table allows for config   --
-- for the collection of probe request packets.  The AP uses this  --
-- to populate the client information tables.                      --
-- *************************************************************** --
extremeWirelessProbeInfoCfgTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessProbeInfoCfgEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one entry per physical and virtual interface.
	 It controls the collection of client information via PROBE REQ
	 packets."
	 ::= { extremeAP 28 } 

extremeWirelessProbeInfoCfgEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessProbeInfoCfgEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Note that the ifIndex here can be either a physical or virtual
	 wireless interface index."
	INDEX { ifIndex }
	 ::= { extremeWirelessProbeInfoCfgTable 1 }

ExtremeWirelessProbeInfoCfgEntry ::= SEQUENCE {
	extremeWirelessProbeInfoEnable		 TruthValue,
	extremeWirelessProbeInfoKeepIEs		 TruthValue,
	extremeWirelessProbeInfoTableSize	 Unsigned32,
	extremeWirelessProbeInfoTimeout		 Unsigned32,
	extremeWirelessProbeInfoTableClear	 TruthValue,
	extremeWirelessProbeInfoSourceClear	 MacAddress,
	extremeWirelessProbeInfoTableStatsClear  TruthValue,
	extremeWirelessProbeInfoSourceStatsClear MacAddress,
	extremeWirelessProbeInfoSendAddedTrap    TruthValue,
	extremeWirelessProbeInfoSendRemovedTrap  TruthValue }

extremeWirelessProbeInfoEnable OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"If this is set to TRUE then this virtual or physical
	interface will register with the MAC layer to receive
	notification of PROBE REQ packets.  In the case of 
	a virtual interface this implies the receipt of directed
	PROBE REQ packets.  If set to FALSE no PROBE REQ packets
	will be received, and current entries will eventually
	timeout."
	DEFVAL { true }
	 ::= { extremeWirelessProbeInfoCfgEntry 1 }

extremeWirelessProbeInfoKeepIEs OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"If this value is set to TRUE then the rate IE which
	 is carried in the PROBE REQ packet will be recorded.
	 If FALSE, no rate information will be kept."
	 DEFVAL { false }
	 ::= { extremeWirelessProbeInfoCfgEntry 2 }

extremeWirelessProbeInfoTableSize OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This value sets the maximum size of the probe info 
	 results table, which limits the number of clients this
	 AP can record PROBE REQ information from."
	 DEFVAL { 128 }
	 ::= { extremeWirelessProbeInfoCfgEntry 3 }

extremeWirelessProbeInfoTimeout OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This is the timeout, in seconds, for an entry in the 
	 probe info table.  Once a PROBE REQ has not been heard
	 from a client in this time period, it's entry is removed.
	 The value 0 is a sentinel, indicating no timeout."
	 DEFVAL { 3600 }
	 ::= { extremeWirelessProbeInfoCfgEntry 4 }

extremeWirelessProbeInfoTableClear OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this value to TRUE causes all entries in the 
	 probe info table to be removed.  Reading this value
	 has no meaning."
	 ::= { extremeWirelessProbeInfoCfgEntry 5 }

extremeWirelessProbeInfoSourceClear OBJECT-TYPE
	SYNTAX MacAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to the value of some MAC address results in
	 any matching MAC address in the probe info table being
	 removed.  Reading this value has no meaning."
	 ::= { extremeWirelessProbeInfoCfgEntry 6 }

extremeWirelessProbeInfoTableStatsClear OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE results in all historical statistics
	 in the probe info table being set to 0.  No entries will
	 be removed.  Reading this has no meaning."
	 ::= { extremeWirelessProbeInfoCfgEntry 7 }

extremeWirelessProbeInfoSourceStatsClear OBJECT-TYPE
	SYNTAX MacAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to a MAC address will clear the historical
	 stats associated with the matching MAC address in the
	 probe info table.  Reading this has no meaning."
	 ::= { extremeWirelessProbeInfoCfgEntry 8 }

extremeWirelessProbeInfoSendAddedTrap OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE will cause the management module to
	 send a trap whenever a new PROBE REQ source is added to 
	 the probe info table.  Setting this to FALSE will 
	 suppress the trap."
	 DEFVAL { false }
	 ::= { extremeWirelessProbeInfoCfgEntry 9 }

extremeWirelessProbeInfoSendRemovedTrap OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE will cause the management module to
	 send a trap whenever a PROBE REQ source is removed from
	 the probe info table.  Setting this to false will 
	 suppress the trap."
	 DEFVAL { false }
	 ::= { extremeWirelessProbeInfoCfgEntry 10 }

-- *************************************************************** --
-- Probe Info Status Table : This table gives current status of    --
-- the probe request storage feature.                              --
-- *************************************************************** --
extremeWirelessProbeInfoStatusTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessProbeInfoStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one entry per physical and virtual interface.
	 It gives debugging and status information for the operation of the
	 probe info feature on that interface."
	 ::= { extremeAP 29 }

extremeWirelessProbeInfoStatusEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessProbeInfoStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Note that the ifIndex here can be either a physical or virtual
	 wireless interface index."
	INDEX { ifIndex }
	 ::= { extremeWirelessProbeInfoStatusTable 1 }

ExtremeWirelessProbeInfoStatusEntry ::= SEQUENCE {
	extremeWirelessProbeInfoStatusCurrentTableSize Unsigned32,
	extremeWirelessProbeInfoStatusWatermark	       Unsigned32,
	extremeWirelessProbeInfoStatusTotalOverflows   Unsigned32,
	extremeWirelessProbeInfoStatusTotalTimeouts    Unsigned32,
	extremeWirelessProbeInfoStatusLastElement      TimeTicks,
	extremeWirelessProbeInfoStatusTotalProbes      Unsigned32
}

extremeWirelessProbeInfoStatusCurrentTableSize OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the current number of entries in the probe 
	 info table for this interface."
	 ::= { extremeWirelessProbeInfoStatusEntry 1 }

extremeWirelessProbeInfoStatusWatermark OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the maximum size the probe info table has been
	 since the statistics have been reset."
	 ::= { extremeWirelessProbeInfoStatusEntry 2 }

extremeWirelessProbeInfoStatusTotalOverflows OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of times an entry in the probe info
	 table was overwritten because the table was full."
	 ::= { extremeWirelessProbeInfoStatusEntry 3 }

extremeWirelessProbeInfoStatusTotalTimeouts OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of times an entry in the probe info
	 table was timed out."
	 ::= { extremeWirelessProbeInfoStatusEntry 4 }

extremeWirelessProbeInfoStatusLastElement OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the sysUpTime the last time an entry was added
	 to the probe info table (or modified)."
	 ::= { extremeWirelessProbeInfoStatusEntry 5 }

extremeWirelessProbeInfoStatusTotalProbes OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of PROBE REQ packets that
	 this interface has gotten."
	 ::= { extremeWirelessProbeInfoStatusEntry 6 }

-- *************************************************************** --
-- Probe Info Table : This table contains information on the probe --
-- request packets recieved from particular hosts.                 --
-- *************************************************************** --
extremeWirelessProbeInfoTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessProbeInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one entry for each source MAC from which
	 a PROBE REQ packet has been received.  Entries are added when
	 a packet is recieved from a new source mac.  Entries are 
	 removed via management action, or by timeout or overflow."
	 ::= { extremeAP 30 }

extremeWirelessProbeInfoEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessProbeInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Note that the ifIndex here can be either a physical or virtual
	 wireless interface index.  In addition, this table is indexed
	 by the MAC address of the PROBE REQ source."
	INDEX { ifIndex, extremeWirelessProbeInfoSource }
	 ::= { extremeWirelessProbeInfoTable 1 }

ExtremeWirelessProbeInfoEntry ::= SEQUENCE {
	extremeWirelessProbeInfoSource		MacAddress,
	extremeWirelessProbeInfoTotalProbes	Unsigned32,
	extremeWirelessProbeInfoTotalProbeResp	Unsigned32,
	extremeWirelessProbeInfoRateIESize	Unsigned32,
	extremeWirelessProbeInfoRateIE		OCTET STRING,
	extremeWirelessProbeInfoFirstSeen 	TimeTicks,
	extremeWirelessProbeInfoLastChange	TimeTicks,
	extremeWirelessProbeInfoLastRSS		INTEGER,
	extremeWirelessProbeInfoLastRate	INTEGER,
	extremeWirelessProbeInfoLastChannel	INTEGER }

extremeWirelessProbeInfoSource OBJECT-TYPE
	SYNTAX MacAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the MAC address of the source which sent us the 
	 PROBE REQ packets described by this entry."
	 ::= { extremeWirelessProbeInfoEntry 1 }

extremeWirelessProbeInfoTotalProbes OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of PROBE REQ packets we have
	 received from this source since the last time the stats
	 were cleared."
	 ::= { extremeWirelessProbeInfoEntry 2 }

extremeWirelessProbeInfoTotalProbeResp OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of PROBE RESP packets we have
	 sent to this source.  This may not be equal to PROBE REQ
	 based on rxmit, misses, etc."
	 ::= { extremeWirelessProbeInfoEntry 3 }

extremeWirelessProbeInfoRateIESize OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the size of the rate-ie field in bytes.  This
	 may be 0, at which point there is no rate-ie."
	 ::= { extremeWirelessProbeInfoEntry 4 }

extremeWirelessProbeInfoRateIE OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the rate IE as recieved in the last PROBE REQ
	 packet.  It is encoded as a TLV exactly as it was in the
	 frame.  This field may return NULL if storing of rate IE
	 fields is disabled."
	 ::= { extremeWirelessProbeInfoEntry 5 }

extremeWirelessProbeInfoFirstSeen OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the sysUpTime the first time a PROBE REQ was
	 seen from this source."
	 ::= { extremeWirelessProbeInfoEntry 6 }

extremeWirelessProbeInfoLastChange OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the sysUpTime the last time a PROBE REQ was
	 seen from this source."
	 ::= { extremeWirelessProbeInfoEntry 7 }

extremeWirelessProbeInfoLastRSS OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the RSSI from the last PROBE REQ packet received
	 from this station."
	 ::= { extremeWirelessProbeInfoEntry 8 }

extremeWirelessProbeInfoLastRate OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the rate at which the last packet was received
	 from this station."
	 ::= { extremeWirelessProbeInfoEntry 9 }

extremeWirelessProbeInfoLastChannel OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the channel on which the last PROBE REQ from
	 this station was heard.  PROBE REQs may be heard during
	 an off-channel scan, at which point this may not be
	 equal to the current channel."
	 ::= { extremeWirelessProbeInfoEntry 10 }

-- *************************************************************** --
-- Per Client Historical Diagnostic Table : This table allows for  --
-- configuration of diagnostic information collection.             --
-- *************************************************************** -- 
extremeWirelessClientDiagCfgTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessClientDiagCfgEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one row per wireless interface.  Each row
	 contains configuration values for collection of per-client
	 diagnostic information."
	 ::= { extremeAP 31 }

extremeWirelessClientDiagCfgEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessClientDiagCfgEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"There is one entry in this table per virtual interface
	 (SSID)."
	INDEX { ifIndex }
	 ::= { extremeWirelessClientDiagCfgTable 1 }

ExtremeWirelessClientDiagCfgEntry ::= SEQUENCE {
	extremeWirelessClientDiagCfgEnable		TruthValue,
	extremeWirelessClientDiagCfgClearClient		MacAddress,
	extremeWirelessClientDiagCfgTableSize		Unsigned32,
	extremeWirelessClientDiagCfgTimeout		Unsigned32
}

extremeWirelessClientDiagCfgEnable OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to TRUE enables the collection of historical 
	 information on this virtual interface.  This implies that 
	 stations which send ASSOC or AUTH packets will have new 
	 entries created in the table for this interface."
	 DEFVAL { true }
	 ::= { extremeWirelessClientDiagCfgEntry 1 }

extremeWirelessClientDiagCfgClearClient OBJECT-TYPE
	SYNTAX MacAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this to the MAC address of a client in the diag
	 tables will clear the counters for that client.  The entry
	 will not be removed from the table, but all summation 
	 counters will be cleared."
	 ::= { extremeWirelessClientDiagCfgEntry 2 }

extremeWirelessClientDiagCfgTableSize OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This value will configure the maximum size of the diag table.
	 The value is specified in number of entries.  A value of 0
	 implies no upper limit."
	 DEFVAL { 128 }
	 ::= { extremeWirelessClientDiagCfgEntry 3 }

extremeWirelessClientDiagCfgTimeout OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This value will configure the timeout of an entry from the
	 diagnostics tables.  The value is given in seconds.  A value
	 of 0 implies no timeout."
	 DEFVAL { 3600 }
	 ::= { extremeWirelessClientDiagCfgEntry 4 }

-- *************************************************************** --
-- Per client historical feature status                            --
-- *************************************************************** --
extremeWirelessClientDiagStatusTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessClientDiagStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one entry per virtual interface.  Values
	 stored here give current status of the historical client diag
	 feature."
	 ::= { extremeAP 32 }

extremeWirelessClientDiagStatusEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessClientDiagStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Note that ifIndex here is virtual ifIndex (SSID)."
	INDEX { ifIndex }
	 ::= { extremeWirelessClientDiagStatusTable 1 }

ExtremeWirelessClientDiagStatusEntry ::= SEQUENCE {
	extremeWirelessClientDiagCurrentTableSize	Unsigned32,
	extremeWirelessClientDiagTableWatermark		Unsigned32,
	extremeWirelessClientDiagTotalOverflows		Unsigned32,
	extremeWirelessClientDiagTotalTimeouts		Unsigned32,
	extremeWirelessClientDiagLastElement		TimeTicks,
	extremeWirelessClientDiagSupportsSizeCounters	TruthValue,
	extremeWirelessClientDiagSupportsSpeedCounters	TruthValue,
	extremeWirelessClientDiagSupportsPacketCounters	TruthValue
}

extremeWirelessClientDiagCurrentTableSize OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the current size, in entries of the client diag
	 tables."
	 ::= { extremeWirelessClientDiagStatusEntry 1 }

extremeWirelessClientDiagTableWatermark OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the maximum size the client diag table has been
	 since the last time the statistics were cleared."
	 ::= { extremeWirelessClientDiagStatusEntry 2 }

extremeWirelessClientDiagTotalOverflows OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of times an entry has been
	 replaced by a newer entry because there was no room
	 left in the table."
	 ::= { extremeWirelessClientDiagStatusEntry 3 }

extremeWirelessClientDiagTotalTimeouts OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of times an entry has been
	 aged-out of the table."
	 ::= { extremeWirelessClientDiagStatusEntry 4 }

extremeWirelessClientDiagLastElement OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is sysUpTime when the last entry was added to
	 the table."
	 ::= { extremeWirelessClientDiagStatusEntry 5 }

extremeWirelessClientDiagSupportsSpeedCounters OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value indicates if this AP supports the speed-based
	 counters from the extremeWirelessClientSpeedCountersTable."
	 ::= { extremeWirelessClientDiagStatusEntry 6 }

extremeWirelessClientDiagSupportsSizeCounters OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value indicates if this AP supports the size-based
	 counters from the extremeWirelessClientMACSizeCounterTable."
	 ::= { extremeWirelessClientDiagStatusEntry 7 }

extremeWirelessClientDiagSupportsPacketCounters OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value indicates if this AP supports the packet-based
	 counters from the extremeWirelessClientPacketCountersTable."
	 ::= { extremeWirelessClientDiagStatusEntry 8 }

-- *************************************************************** --
-- Per Client Historical Diagnostics : This table contains info    --
-- about state transitions for each client.
-- *************************************************************** --
extremeWirelessClientDiagTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessClientDiagEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains information on a per-client basis.  Rows are
	 indexed first by virtual interface, then by client MAC."
	 ::= { extremeAP 33 }

extremeWirelessClientDiagEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessClientDiagEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Note that ifIndex here is virtual ifIndex (SSID)."
	INDEX { ifIndex, extremeWirelessClientDiagMac }
	 ::= { extremeWirelessClientDiagTable 1 }

ExtremeWirelessClientDiagEntry ::= SEQUENCE {
	extremeWirelessClientDiagMac			MacAddress,
	extremeWirelessClientDiagStateWatermark		INTEGER,
	extremeWirelessClientDiagEntersInDetected	Unsigned32,
	extremeWirelessClientDiagErrorsInDetected	Unsigned32,
	extremeWirelessClientDiagAuthReqInDetected	Unsigned32,
	extremeWirelessClientDiagOtherReqInDetected	Unsigned32,
	extremeWirelessClientDiagMgmtActionInDetected	Unsigned32,
	extremeWirelessClientDiagTimeOutInDetected	Unsigned32,
	extremeWirelessClientDiagEntersInAuth		Unsigned32,
	extremeWirelessClientDiagErrorsInAuth		Unsigned32,
	extremeWirelessClientDiagAssocReqInAuth		Unsigned32,
	extremeWirelessClientDiagOtherReqInAuth		Unsigned32,
	extremeWirelessClientDiagMgmtActionInAuth	Unsigned32,
	extremeWirelessClientDiagTimeOutInAuth		Unsigned32,
	extremeWirelessClientDiagEntersInAssoc		Unsigned32,
	extremeWirelessClientDiagErrorsInAssoc		Unsigned32,
	extremeWirelessClientDiagMgmtActionInAssoc	Unsigned32,
	extremeWirelessClientDiagTimeOutInAssoc		Unsigned32,
	extremeWirelessClientDiagEntersInForward	Unsigned32,
	extremeWirelessClientDiagMgmtActionInForward	Unsigned32,
	extremeWirelessClientDiagTimeOutInForward	Unsigned32,
	extremeWirelessClientDiagTotal802Auths		Unsigned32,
	extremeWirelessClientDiagTotalNetLoginAuths	Unsigned32
}

extremeWirelessClientDiagMac OBJECT-TYPE
	SYNTAX MacAddress
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the MAC address of the station this entry 
	 describes."
	 ::= { extremeWirelessClientDiagEntry 1 }

extremeWirelessClientDiagStateWatermark OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the highest state this client has been in."
	::= { extremeWirelessClientDiagEntry 2 }

extremeWirelessClientDiagEntersInDetected OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times the client has entered
	 the detected state."
	::= { extremeWirelessClientDiagEntry 3 }

extremeWirelessClientDiagErrorsInDetected OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of errors this client has 
	 experienced since the counters were cleared."
	::= { extremeWirelessClientDiagEntry 4 }

extremeWirelessClientDiagAuthReqInDetected OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of AUTH REQ packets received
	 from this client while it was in the detected state."
	::= { extremeWirelessClientDiagEntry 5 }

extremeWirelessClientDiagOtherReqInDetected OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of REQ packets received from
	 this client while it was in detected state that were
	 not AUTH REQ packets."
	::= { extremeWirelessClientDiagEntry 6 }

extremeWirelessClientDiagMgmtActionInDetected OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times management initiated
	 action (i.e. force-disassociate) was received for this
	 client in the detected state."
	::= { extremeWirelessClientDiagEntry 7 }

extremeWirelessClientDiagTimeOutInDetected OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of timeouts which happened to
	 this client in the detected state."
	::= { extremeWirelessClientDiagEntry 8 }

extremeWirelessClientDiagEntersInAuth OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times the client has entered
	 the AUTHED state."
	::= { extremeWirelessClientDiagEntry 9 }

extremeWirelessClientDiagErrorsInAuth OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times the client has had
	 errors in the AUTHED state."
	::= { extremeWirelessClientDiagEntry 10 }

extremeWirelessClientDiagAssocReqInAuth OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of ASSOC REQ or REASSOC REQ
	 packets received from this client while in the AUTHED 
	 state."
	::= { extremeWirelessClientDiagEntry 11 }

extremeWirelessClientDiagOtherReqInAuth OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of non-ASSOC/REASSOC packets
	 received from this client while in the AUTHED state."
	::= { extremeWirelessClientDiagEntry 12 }

extremeWirelessClientDiagMgmtActionInAuth OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of management initiated action
	 which this client experienced while in the AUTHED state."
	::= { extremeWirelessClientDiagEntry 13 }

extremeWirelessClientDiagTimeOutInAuth OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times this client timed out
	 while in the authed state."
	::= { extremeWirelessClientDiagEntry 14 }

extremeWirelessClientDiagEntersInAssoc OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times this client has entered
	 the associated state."
	::= { extremeWirelessClientDiagEntry 15 }

extremeWirelessClientDiagErrorsInAssoc OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of errors this client has had
	 in the associated state."
	::= { extremeWirelessClientDiagEntry 16 }

extremeWirelessClientDiagMgmtActionInAssoc OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of management actions which have
	 happened to this client in the associated state."
	::= { extremeWirelessClientDiagEntry 17 }

extremeWirelessClientDiagTimeOutInAssoc OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times this station has been
	 timed-out in the associated state."
	::= { extremeWirelessClientDiagEntry 18 }

extremeWirelessClientDiagEntersInForward OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times this client has entered
	 the forwarding state."
	::= { extremeWirelessClientDiagEntry 19 }

extremeWirelessClientDiagMgmtActionInForward OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times this client has
	 experience a management action while in forwarding."
	::= { extremeWirelessClientDiagEntry 20 }

extremeWirelessClientDiagTimeOutInForward OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of timeouts this client has
	 experienced while in forwarding."
	::= { extremeWirelessClientDiagEntry 21 }

extremeWirelessClientDiagTotal802Auths OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times this client has tried
	 to authenticate using 802.1x."
	::= { extremeWirelessClientDiagEntry 22 }

extremeWirelessClientDiagTotalNetLoginAuths OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"This is the total number of times this client has tried
	 to authenticate using NetLogin."
	::= { extremeWirelessClientDiagEntry 23 }

-- *************************************************************** --
-- Per Client Association Information : This table gives history   --
-- on the association packets sent by each client on the AP.       --
-- *************************************************************** --
extremeWirelessClientAssocInfoTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessClientAssocInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one row per client on a wireless interface.
	 It gives information about the association history and parameters
	 of that client."
	 ::= { extremeAP 34 }

extremeWirelessClientAssocInfoEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessClientAssocInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Note that ifIndex here is virtual ifIndex (SSID)."
	INDEX { ifIndex, extremeWirelessClientDiagMac }
	 ::= { extremeWirelessClientAssocInfoTable 1 }

ExtremeWirelessClientAssocInfoEntry ::= SEQUENCE {
	extremeWirelessClientAssocInfoAssociated		TruthValue,
	extremeWirelessClientAssocInfoTotalAssocReq		Unsigned32,
	extremeWirelessClientAssocInfoTotalReAssocReq		Unsigned32,
	extremeWirelessClientAssocInfoTotalAssocResp		Unsigned32,
	extremeWirelessClientAssocInfoTotalAssocOK		Unsigned32,
	extremeWirelessClientAssocInfoTotalAssocFail		Unsigned32,
	extremeWirelessClientAssocInfoTotalDisassocReq		Unsigned32,
	extremeWirelessClientAssocInfoTotalDisassocResp		Unsigned32,
	extremeWirelessClientAssocInfoRateIE			OCTET STRING,
	extremeWirelessClientAssocInfoLastAssoc			TimeTicks,
	extremeWirelessClientAssocInfoLastError			TimeTicks,
	extremeWirelessClientAssocInfoLastErrorType		INTEGER,
	extremeWirelessClientAssocInfoErrorRateMismatch		Unsigned32,
	extremeWirelessClientAssocInfoErrorBadState		Unsigned32,
	extremeWirelessClientAssocInfoErrorBadCapability	Unsigned32,
	extremeWirelessClientAssocInfoErrorCounterMeasure	Unsigned32,
	extremeWirelessClientAssocInfoErrorMcastCipher		Unsigned32,
	extremeWirelessClientAssocInfoErrorMaxAssoc 		Unsigned32,
	extremeWirelessClientAssocInfoErrorRSNRequired		Unsigned32,
	extremeWirelessClientAssocInfoErrorRSNMismatch 		Unsigned32,
	extremeWirelessClientAssocInfoErrorOther		Unsigned32,
	extremeWirelessClientAssocInfoWPAIEPresent		TruthValue,
	extremeWirelessClientAssocInfoWPAVersion		Unsigned32,
	extremeWirelessClientAssocInfoWPAIEMcastCipher		WPACipherSet,
	extremeWirelessClientAssocInfoWPAUcastCipherCount	Unsigned32,
	extremeWirelessClientAssocInfoWPAUcastCipher		WPACipherSet,
	extremeWirelessClientAssocInfoWPAKeyMgmtCount		Unsigned32,
	extremeWirelessClientAssocInfoWPAKeyMgmtSuite		WPAKeyMgmtSet,
	extremeWirelessClientAssocIEBlob			OCTET STRING
}

extremeWirelessClientAssocInfoAssociated OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the current MAC-layer association status of 
	 this client."
	 ::= { extremeWirelessClientAssocInfoEntry 1 }

extremeWirelessClientAssocInfoTotalAssocReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of ASSOC REQ pdus recieved
	 from this client since the last time the counters were
	 cleared."
	 ::= { extremeWirelessClientAssocInfoEntry 2 }

extremeWirelessClientAssocInfoTotalReAssocReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of REASSOC REQ PDUs received
	 from this client since the last time the counters were
	 cleared."
	 ::= { extremeWirelessClientAssocInfoEntry 3 }

extremeWirelessClientAssocInfoTotalAssocResp OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of ASSOC RESP pdus sent to
	 this client since the last time the counters were cleared."
	 ::= { extremeWirelessClientAssocInfoEntry 4 }

extremeWirelessClientAssocInfoTotalAssocOK OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of ASSOC RESP PDUs which
	 carried a status = ok response."
	 ::= { extremeWirelessClientAssocInfoEntry 5 }

extremeWirelessClientAssocInfoTotalAssocFail OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of ASSOC RESP PDUs which
	 carried a status = failed response."
	 ::= { extremeWirelessClientAssocInfoEntry 6 }

extremeWirelessClientAssocInfoTotalDisassocReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of ASSOC RESP PDUs which
	 carried a status = failed response."
	 ::= { extremeWirelessClientAssocInfoEntry 7 }

extremeWirelessClientAssocInfoTotalDisassocResp OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of ASSOC RESP PDUs which
	 carried a status = failed response."
	 ::= { extremeWirelessClientAssocInfoEntry 8 }

extremeWirelessClientAssocInfoRateIE OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the value of the rate IE carried in the last
	 ASSOC REQ packet if this wireless interface is configured
	 to keep IEs.  If it's not, this will be NULL.  The IE
	 is encoded as a series of bytes exactly as the value 
	 portion of the IE in the PDU."
	 ::= { extremeWirelessClientAssocInfoEntry 9 }

extremeWirelessClientAssocInfoLastAssoc OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is sysUpTime when the last ASSOC REQ was received
	 from this client."
	 ::= { extremeWirelessClientAssocInfoEntry 10 }

extremeWirelessClientAssocInfoLastError OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is sysUpTime when the last ASSOC RESP was sent to
	 this client with a failure status."
	 ::= { extremeWirelessClientAssocInfoEntry 11 }

extremeWirelessClientAssocInfoLastErrorType OBJECT-TYPE
	SYNTAX INTEGER { noError(0),
			 rateMismatch(1),
			 badState(2),
			 badCapability(3),
			 couterMeasure(4),
			 mcastCipher(5),
			 maxAssoc(6),
			 rsnRequired(7),
			 rsnMismatch(8),
			 otherError(9) }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is an enumerated type which indicates which was the
	 last error this client experienced during association."
	 ::= { extremeWirelessClientAssocInfoEntry 12 }

extremeWirelessClientAssocInfoErrorRateMismatch OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of failed associations due to 
	 a mismatch of the rate IEs."
	 ::= { extremeWirelessClientAssocInfoEntry 13 }

extremeWirelessClientAssocInfoErrorBadState OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of failed associations due to 
	 the client being in the wrong state."
	 ::= { extremeWirelessClientAssocInfoEntry 14 }

extremeWirelessClientAssocInfoErrorBadCapability OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of failed associations due to 
	 the client having a capability mismatch with the AP."
	 ::= { extremeWirelessClientAssocInfoEntry 15 }

extremeWirelessClientAssocInfoErrorCounterMeasure OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of failed associations due to 
	 the client being subject to a counter measure."
	 ::= { extremeWirelessClientAssocInfoEntry 16 }

extremeWirelessClientAssocInfoErrorMcastCipher OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of failed associations due to 
	 the client not supporting the current multicast cipher."
	 ::= { extremeWirelessClientAssocInfoEntry 17 }

extremeWirelessClientAssocInfoErrorMaxAssoc OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of failed associations due to 
	 the AP having too many associations already."
	 ::= { extremeWirelessClientAssocInfoEntry 18 }

extremeWirelessClientAssocInfoErrorRSNRequired OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of failed associations due to 
	 the client not supplying the (required) RSN IE."
	 ::= { extremeWirelessClientAssocInfoEntry 19 }

extremeWirelessClientAssocInfoErrorRSNMismatch OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of failed associations due to 
	 the client's RSN IE not matching supported features on 
	 the AP."
	 ::= { extremeWirelessClientAssocInfoEntry 20 }

extremeWirelessClientAssocInfoErrorOther OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of failed associations due to 
	 the client's RSN IE not matching supported features on 
	 the AP."
	 ::= { extremeWirelessClientAssocInfoEntry 21 }

extremeWirelessClientAssocInfoWPAIEPresent OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"If this value is true it indicates that WPA information was
	 gathered from this station in the last association request.
	 If true, it implies the values of the WPA variables below 
	 are valid.  If false, it indicates that this station did not
	 send a WPA IE in its last association."
	::= { extremeWirelessClientAssocInfoEntry 22 }

extremeWirelessClientAssocInfoWPAVersion OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value gives the version of WPA supported by this station.
	 See IEEE 802.11i Draft 3.0 section 7 for meaning of various
	 values."
	::= { extremeWirelessClientAssocInfoEntry 23 }

extremeWirelessClientAssocInfoWPAIEMcastCipher OBJECT-TYPE
	SYNTAX WPACipherSet
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value gives the single multicast cipher supported by this
	 client."
	::= { extremeWirelessClientAssocInfoEntry 24 }

extremeWirelessClientAssocInfoWPAUcastCipherCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of set bits in the ucast cipher
	 variable below.  In this case this number should always
	 be 1."
	::= { extremeWirelessClientAssocInfoEntry 25 }

extremeWirelessClientAssocInfoWPAUcastCipher OBJECT-TYPE
	SYNTAX WPACipherSet
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the cipher suites which was requested by 
	 this client during its last assoc req."
	::= { extremeWirelessClientAssocInfoEntry 26 }

extremeWirelessClientAssocInfoWPAKeyMgmtCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value gives the number of key management suites 
	 requested by this client in the last assoc. req message.
	 It indicates the number of set bits in the mgmt suite 
	 variable below."
	::= { extremeWirelessClientAssocInfoEntry 27 }

extremeWirelessClientAssocInfoWPAKeyMgmtSuite OBJECT-TYPE
	SYNTAX WPAKeyMgmtSet
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Gives the key management suite requested by this client 
	 during its last association request."
	::= { extremeWirelessClientAssocInfoEntry 28 }

extremeWirelessClientAssocIEBlob OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the IE list sent in the association frame encoded as
	 a series of TLVs."
	::= { extremeWirelessClientAssocInfoEntry 29 }


-- *************************************************************** --
-- Authentication Information Table : This table contains infor on --
-- the MAC-layer authentication of each client which has tried to  --
-- authenticate with this AP.
-- *************************************************************** --
extremeWirelessClientAuthInfoTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessClientAuthInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one row per client on a wireless interface.
	 It gives information about the authentication history and params
	 of that client."
	 ::= { extremeAP 35 }

extremeWirelessClientAuthInfoEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessClientAuthInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Note that ifIndex here is virtual ifIndex (SSID)."
	INDEX { ifIndex, extremeWirelessClientDiagMac }
	 ::= { extremeWirelessClientAuthInfoTable 1 }

ExtremeWirelessClientAuthInfoEntry ::= SEQUENCE {
	extremeWirelessClientAuthInfoCurrentAuth	TruthValue,
	extremeWirelessClientAuthInfoTotalAuths		Unsigned32,
	extremeWirelessClientAuthInfoTotalAuthResp	Unsigned32,
	extremeWirelessClientAuthInfoTotalAuthsOK	Unsigned32,
	extremeWirelessClientAuthInfoTotalAuthsFailed	Unsigned32,
	extremeWirelessClientAuthInfoTotalDeauthReq     Unsigned32,
	extremeWirelessClientAuthInfoTotalDeauthResp    Unsigned32,
	extremeWirelessClientAuthInfoTotalOpen		Unsigned32,
	extremeWirelessClientAuthInfoTotalShared	Unsigned32,
	extremeWirelessClientAuthInfoLastAuth		TimeTicks,
	extremeWirelessClientAuthInfoLastAuthType	INTEGER,
	extremeWirelessClientAuthInfoLastError		TimeTicks,
	extremeWirelessClientAuthInfoLastErrorType	INTEGER,
	extremeWirelessClientAuthInfoErrorResourceFailure  Unsigned32,
	extremeWirelessClientAuthInfoErrorSequenceNum	Unsigned32,
	extremeWirelessClientAuthInfoErrorChallengeText	Unsigned32,
	extremeWirelessClientAuthInfoErrorTypeMismatch	Unsigned32,
	extremeWirelessClientAuthInfoErrorKeyIndex	Unsigned32,
	extremeWirelessClientAuthInfoErrorOther         Unsigned32
}

extremeWirelessClientAuthInfoCurrentAuth OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the current MAC-layer authentication status of the
	 client."
	 ::= { extremeWirelessClientAuthInfoEntry 1 }

extremeWirelessClientAuthInfoTotalAuths OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of AUTH REQ packets received from 
	 this client since the last time the counters were cleared."
	 ::= { extremeWirelessClientAuthInfoEntry 2 }

extremeWirelessClientAuthInfoTotalAuthResp OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of AUTH RESP packets sent to
	 this client since the last time the counters were cleared."
	 ::= { extremeWirelessClientAuthInfoEntry 3 }

extremeWirelessClientAuthInfoTotalAuthsOK OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of AUTH RESP packets sent to
	 this client which carried a STATUS = OK message."
	 ::= { extremeWirelessClientAuthInfoEntry 4 }

extremeWirelessClientAuthInfoTotalAuthsFailed OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of AUTH RESP packets sent to
	 this client which carried a STATUS = Failed message."
	 ::= { extremeWirelessClientAuthInfoEntry 5 }

extremeWirelessClientAuthInfoTotalDeauthReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of DEAUTH REQ packets sent from
	 this client."
	 ::= { extremeWirelessClientAuthInfoEntry 6 }

extremeWirelessClientAuthInfoTotalDeauthResp OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of DEAUTH RESP packets sent to
	 this client."
	 ::= { extremeWirelessClientAuthInfoEntry 7 }

extremeWirelessClientAuthInfoTotalOpen OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of AUTH REQ packets which 
	 requested open authentication from the AP."
	 ::= { extremeWirelessClientAuthInfoEntry 8 }

extremeWirelessClientAuthInfoTotalShared OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of AUTH REQ packets which 
	 requested shared authentication from the AP."
	 ::= { extremeWirelessClientAuthInfoEntry 9 }

extremeWirelessClientAuthInfoLastAuth OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the sysUpTime the last time this client sent
	 a request for authentication."
	 ::= { extremeWirelessClientAuthInfoEntry 10 }

extremeWirelessClientAuthInfoLastAuthType OBJECT-TYPE
	SYNTAX INTEGER { open(1), shared(2) }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the last type of authentication requested by 
	 this client."
	 ::= { extremeWirelessClientAuthInfoEntry 11 }

extremeWirelessClientAuthInfoLastError OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the sysUpTime of the last authentication failure
	 for this client."
	 ::= { extremeWirelessClientAuthInfoEntry 12 }

extremeWirelessClientAuthInfoLastErrorType OBJECT-TYPE
    SYNTAX INTEGER { noError(0),
        resourceFailure(1),
        sequenceNumber(2),
        challengeText(3),
        algorithmMismatch(4),
        keyIndex(5),
        otherError(6) }
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the OID of the last error counter that was 
	 incremented for this client."
	 ::= { extremeWirelessClientAuthInfoEntry 13 }

extremeWirelessClientAuthInfoErrorResourceFailure OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of authentication failures 
	 which have resulted from resource failures."
	 ::= { extremeWirelessClientAuthInfoEntry 14 }

extremeWirelessClientAuthInfoErrorSequenceNum OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of authentication failures 
	 which have resulted from bad packet sequence numbers."
	 ::= { extremeWirelessClientAuthInfoEntry 15 }

extremeWirelessClientAuthInfoErrorChallengeText OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of authentication failures 
	 which have resutled from challenge text mismatch."
	 ::= { extremeWirelessClientAuthInfoEntry 16 }

extremeWirelessClientAuthInfoErrorTypeMismatch OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of authentication failures 
	 which have resutled from the requested authentication
	 type (i.e. open/shared) not matching what this virutal
	 interface is configured for."
	 ::= { extremeWirelessClientAuthInfoEntry 17 }

extremeWirelessClientAuthInfoErrorKeyIndex OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of authentication failures 
	 which have resulted from key index mismatches."
	 ::= { extremeWirelessClientAuthInfoEntry 18 }

extremeWirelessClientAuthInfoErrorOther OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This is the total number of authentication failures 
	 which have resulted from unspecified errors."
	 ::= { extremeWirelessClientAuthInfoEntry 19 }


-- *************************************************************** --
-- Client MAC information : This table contains statistics and     --
-- information on each client which has tried to authenticate with --
-- this virtual interface.
-- *************************************************************** --
extremeWirelessClientMACInfoTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessClientMACInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains one entry per source MAC which has tried to
	 authenticate with this virtual interface (SSID).  Entries
	 are created when AUTH or REATH REQ packets are received from
	 new clients.  Entries can be aged out, removed by management
	 action, or overwritten by an overflow."
	 ::= { extremeAP 36 }

extremeWirelessClientMACInfoEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessClientMACInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex, extremeWirelessClientDiagMac }
	 ::= { extremeWirelessClientMACInfoTable 1 }

ExtremeWirelessClientMACInfoEntry ::= SEQUENCE {
	extremeWirelessClientMACInfoMinRSS		INTEGER,
	extremeWirelessClientMACInfoMaxRSS		INTEGER,
	extremeWirelessClientMACInfoAvgRSS		INTEGER,
	extremeWirelessClientMACInfoTotalProbeReq	Unsigned32,
	extremeWirelessClientMACInfoTotalAuthReq	Unsigned32,
	extremeWirelessClientMACInfoTotalAssocReq	Unsigned32,
	extremeWirelessClientMACInfoTotalReAssocReq	Unsigned32,
	extremeWirelessClientMACInfoTotalDeAssocReq	Unsigned32,
	extremeWirelessClientMACInfoTotalDeAuthReq	Unsigned32,
	extremeWirelessClientMACInfoTotalPsPoll		Unsigned32,
	extremeWirelessClientMACInfoTotalData		Unsigned32,
	extremeWirelessClientMACInfoNavValue		Unsigned32
}

extremeWirelessClientMACInfoMinRSS OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the minimum RSS indication of any packet we have
	 seen from this client.  A value of 0 indicates that RSSI has
	 been unavailable."
	 ::= { extremeWirelessClientMACInfoEntry 1 }

extremeWirelessClientMACInfoMaxRSS OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the maximum RSS indication of any packet we have
	 seen from this client.  A value of 0 indicates that RSSI has
	 been unavailable."
	 ::= { extremeWirelessClientMACInfoEntry 2 }

extremeWirelessClientMACInfoAvgRSS OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the average RSS indication of any packet we have
	 seen from this client.  A value of 0 indicates that RSSI has
	 been unavailable."
	 ::= { extremeWirelessClientMACInfoEntry 3 }

extremeWirelessClientMACInfoTotalProbeReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of PROBE REQ packets recieved from
	 this client since the counters have been cleared."
	 ::= { extremeWirelessClientMACInfoEntry 4 }

extremeWirelessClientMACInfoTotalAuthReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of AUTH REQ packets recieved from
	 this client since the counters have been cleared."
	 ::= { extremeWirelessClientMACInfoEntry 5 }

extremeWirelessClientMACInfoTotalAssocReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of ASSOC REQ packets recieved from
	 this client since the counters have been cleared."
	 ::= { extremeWirelessClientMACInfoEntry 6 }

extremeWirelessClientMACInfoTotalReAssocReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of REASSOC REQ packets recieved from
	 this client since the counters have been cleared."
	 ::= { extremeWirelessClientMACInfoEntry 7 }

extremeWirelessClientMACInfoTotalDeAssocReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of DEASSOC REQ packets recieved from
	 this client since the counters have been cleared."
	 ::= { extremeWirelessClientMACInfoEntry 8 }

extremeWirelessClientMACInfoTotalDeAuthReq OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of DEAUTH REQ packets recieved from
	 this client since the counters have been cleared."
	 ::= { extremeWirelessClientMACInfoEntry 9 }

extremeWirelessClientMACInfoTotalPsPoll OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of PS POLL packets recieved from
	 this client since the counters have been cleared."
	 ::= { extremeWirelessClientMACInfoEntry 10 }

extremeWirelessClientMACInfoTotalData OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of data frames received from this
	 client since the counters have been cleared."
	 ::= { extremeWirelessClientMACInfoEntry 11 }

extremeWirelessClientMACInfoNavValue OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"TODO: Is this an average, total, what?"
	 ::= { extremeWirelessClientMACInfoEntry 12 }


-- *************************************************************** --
-- Size Based Counters : This table gives per-client histogram     --
-- counters based on the size of received packets/fragments.       --
-- *************************************************************** --
extremeWirelessClientSizeCounterTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessClientSizeCounterEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"There is one entry in this table for each client which has
	 tried to authenticate with this virtual interface.  A new 
	 entry is created when an AUTH or REATH REQ packet is received
	 from a new station.  Entries are removed by management action,
	 timeout or overwritten due to overflow.
	 
	 Entries in this table are also indexed by virtual interface.
	 A client which has tried to authenticate to multiple virtual	
	 interfaces may have more than one entry in this table."
	 ::= { extremeAP 37 }

extremeWirelessClientSizeCounterEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessClientSizeCounterEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex, extremeWirelessClientDiagMac }
	 ::= { extremeWirelessClientSizeCounterTable 1 }

ExtremeWirelessClientSizeCounterEntry ::= SEQUENCE {
	extremeWirelessClientFrameSizeReXmit64		Unsigned32,
	extremeWirelessClientFrameSizeReXmit128		Unsigned32,
	extremeWirelessClientFrameSizeReXmit256		Unsigned32,
	extremeWirelessClientFrameSizeReXmit512		Unsigned32,
	extremeWirelessClientFrameSizeReXmit1024	Unsigned32,
	extremeWirelessClientFrameSizeReXmit2048	Unsigned32,
	extremeWirelessClientFrameSizeTX64		Unsigned32,
	extremeWirelessClientFrameSizeTX128		Unsigned32,
	extremeWirelessClientFrameSizeTX256		Unsigned32,
	extremeWirelessClientFrameSizeTX512		Unsigned32,
	extremeWirelessClientFrameSizeTX1024		Unsigned32,
	extremeWirelessClientFrameSizeTX2048		Unsigned32,
	extremeWirelessClientFrameSizeRX64		Unsigned32,
	extremeWirelessClientFrameSizeRX128		Unsigned32,
	extremeWirelessClientFrameSizeRX256		Unsigned32,
	extremeWirelessClientFrameSizeRX512		Unsigned32,
	extremeWirelessClientFrameSizeRX1024		Unsigned32,
	extremeWirelessClientFrameSizeRX2048		Unsigned32,
	extremeWirelessClientFrameSizeErrorTX64		Unsigned32,
	extremeWirelessClientFrameSizeErrorTX128	Unsigned32,
	extremeWirelessClientFrameSizeErrorTX256	Unsigned32,
	extremeWirelessClientFrameSizeErrorTX512	Unsigned32,
	extremeWirelessClientFrameSizeErrorTX1024	Unsigned32,
	extremeWirelessClientFrameSizeErrorTX2048	Unsigned32,
	extremeWirelessClientFrameSizeErrorRX64		Unsigned32,
	extremeWirelessClientFrameSizeErrorRX128	Unsigned32,
	extremeWirelessClientFrameSizeErrorRX256	Unsigned32,
	extremeWirelessClientFrameSizeErrorRX512	Unsigned32,
	extremeWirelessClientFrameSizeErrorRX1024	Unsigned32,
	extremeWirelessClientFrameSizeErrorRX2048	Unsigned32,
	extremeWirelessClientPacketSizeTX64		Unsigned32,
	extremeWirelessClientPacketSizeTX128		Unsigned32,
	extremeWirelessClientPacketSizeTX256		Unsigned32,
	extremeWirelessClientPacketSizeTX512		Unsigned32,
	extremeWirelessClientPacketSizeTX1024		Unsigned32,
	extremeWirelessClientPacketSizeTX2048		Unsigned32,
	extremeWirelessClientPacketSizeRX64		Unsigned32,
	extremeWirelessClientPacketSizeRX128		Unsigned32,
	extremeWirelessClientPacketSizeRX256		Unsigned32,
	extremeWirelessClientPacketSizeRX512		Unsigned32,
	extremeWirelessClientPacketSizeRX1024		Unsigned32,
	extremeWirelessClientPacketSizeRX2048		Unsigned32
}

extremeWirelessClientFrameSizeReXmit64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags retransmitted to this
	 client which were less than or equal to 64 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 1 }

extremeWirelessClientFrameSizeReXmit128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags retransmitted to this
	 client which were between 64 and 128 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 2 }

extremeWirelessClientFrameSizeReXmit256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags retransmitted to this
	 client which were between 128 and 256 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 3 }

extremeWirelessClientFrameSizeReXmit512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags retransmitted to this
	 client which were between 256 and 512 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 4 }

extremeWirelessClientFrameSizeReXmit1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags retransmitted to this
	 client which were between 512 and 1024 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 5 }

extremeWirelessClientFrameSizeReXmit2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags retransmitted to this
	 client which were between 1024 and 2048 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 6 }

extremeWirelessClientFrameSizeTX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags transmitted to this
	 client which were less than or equal to 64 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 7 }

extremeWirelessClientFrameSizeTX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags transmitted to this
	 client which were between 64 and 128 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 8 }

extremeWirelessClientFrameSizeTX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags transmitted to this
	 client which were between 128 and 256 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 9 }

extremeWirelessClientFrameSizeTX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags transmitted to this
	 client which were between 256 and 512 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 10 }

extremeWirelessClientFrameSizeTX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags transmitted to this
	 client which were between 512 and 1024 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 11 }

extremeWirelessClientFrameSizeTX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags transmitted to this
	 client which were between 1024 and 2048 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 12 }

extremeWirelessClientFrameSizeRX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags received from this
	 client which were less than or equal to 64 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 13 }

extremeWirelessClientFrameSizeRX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags received from this
	 client which were between 64 and 128 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 14 }

extremeWirelessClientFrameSizeRX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags received from this
	 client which were between 128 and 256 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 15 }

extremeWirelessClientFrameSizeRX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags received from this
	 client which were between 256 and 512 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 16 }

extremeWirelessClientFrameSizeRX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags received from this
	 client which were between 512 and 1024 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 17 }

extremeWirelessClientFrameSizeRX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags received from this
	 client which were between 1024 and 2048 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 18 }

extremeWirelessClientFrameSizeErrorTX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which failed to be sent from
	 this client with a length between 0 and 64 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 19 }

extremeWirelessClientFrameSizeErrorTX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which failed to be sent from
	 this client with a length between 65 and 128 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 20 }

extremeWirelessClientFrameSizeErrorTX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which failed to be sent from
	 this client with a length between 129 and 256 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 21 }

extremeWirelessClientFrameSizeErrorTX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which failed to be sent from
	 this client with a length between 257 and 512 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 22 }

extremeWirelessClientFrameSizeErrorTX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which failed to be sent from
	 this client with a length between 513 and 1024 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 23 }

extremeWirelessClientFrameSizeErrorTX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which failed to be sent from
	 this client with a length between 1025 and 2048 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 24 }

extremeWirelessClientFrameSizeErrorRX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received with
	 an FCS or other error and a length between 0 and 64 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 25 }

extremeWirelessClientFrameSizeErrorRX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received with
	 an FCS or other error and a length between 65 and 128 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 26 }

extremeWirelessClientFrameSizeErrorRX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received with
	 an FCS or other error and a length between 129 and 256 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 27 }

extremeWirelessClientFrameSizeErrorRX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received with
	 an FCS or other error and a length between 257 and 512 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 28 }

extremeWirelessClientFrameSizeErrorRX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received with
	 an FCS or other error and a length between 513 and 1024 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 29 }

extremeWirelessClientFrameSizeErrorRX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received with
	 an FCS or other error and a length between 1025 and 2048 bytes."
	 ::= { extremeWirelessClientSizeCounterEntry 30 }

extremeWirelessClientPacketSizeTX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets transmitted to this
	 client which were less than or equal to 64 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 31 }

extremeWirelessClientPacketSizeTX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets transmitted to this
	 client which were between 64 and 128 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 32 }

extremeWirelessClientPacketSizeTX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets transmitted to this
	 client which were between 128 and 256 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 33 }

extremeWirelessClientPacketSizeTX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets transmitted to this
	 client which were between 256 and 512 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 34 }

extremeWirelessClientPacketSizeTX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets transmitted to this
	 client which were between 512 and 1024 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 35 }

extremeWirelessClientPacketSizeTX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets transmitted to this
	 client which were between 1024 and 2048 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 36 }

extremeWirelessClientPacketSizeRX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets received from this
	 client which were less than or equal to 64 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 37 }

extremeWirelessClientPacketSizeRX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets received from this
	 client which were between 64 and 128 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 38 }

extremeWirelessClientPacketSizeRX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets received from this
	 client which were between 128 and 256 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 39 }

extremeWirelessClientPacketSizeRX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets received from this
	 client which were between 256 and 512 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 40 }

extremeWirelessClientPacketSizeRX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets received from this
	 client which were between 512 and 1024 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 41 }

extremeWirelessClientPacketSizeRX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of packets received from this
	 client which were between 1024 and 2048 bytes in length."
	 ::= { extremeWirelessClientSizeCounterEntry 42 }

-- *************************************************************** --
-- Per Client Speed : This table gives a histogram of statistics   --
-- based on the speed of transmission/reception of packets on a    --
-- virtual interface.                                              --
-- *************************************************************** --
extremeWirelessClientSpeedCounterTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessClientSpeedCounterEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table is indexed by wireless interface index.  These
	 are the virtual interfaces corresponding to the SSID.  Support
	 for this table is optional, indicated by the value of the variable
	 extremeWirelessClientDiagSupportsSpeedCounters in the status table."
	 ::= { extremeAP 38 }

extremeWirelessClientSpeedCounterEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessClientSpeedCounterEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"The ifIndex here is the wireless interface (SSID).  It is expected
	 that an entry will be created in this table only after a client
	 sends a AUTH or REATH packet to the SSID."
	INDEX { ifIndex, extremeWirelessClientDiagMac }
	 ::= { extremeWirelessClientSpeedCounterTable 1 }

ExtremeWirelessClientSpeedCounterEntry ::= SEQUENCE {
	extremeWirelessClientSpeedReXmit1	Unsigned32,
	extremeWirelessClientSpeedReXmit2	Unsigned32,
	extremeWirelessClientSpeedReXmit5p5	Unsigned32,
	extremeWirelessClientSpeedReXmit6	Unsigned32,
	extremeWirelessClientSpeedReXmit9	Unsigned32,
	extremeWirelessClientSpeedReXmit12	Unsigned32,
	extremeWirelessClientSpeedReXmit18	Unsigned32,
	extremeWirelessClientSpeedReXmit24	Unsigned32,
	extremeWirelessClientSpeedReXmit36	Unsigned32,
	extremeWirelessClientSpeedReXmit48	Unsigned32,
	extremeWirelessClientSpeedReXmit54	Unsigned32,
	extremeWirelessClientSpeedTX1		Unsigned32,
	extremeWirelessClientSpeedTX2		Unsigned32,
	extremeWirelessClientSpeedTX5p5		Unsigned32,
	extremeWirelessClientSpeedTX6		Unsigned32,
	extremeWirelessClientSpeedTX9		Unsigned32,
	extremeWirelessClientSpeedTX12		Unsigned32,
	extremeWirelessClientSpeedTX18		Unsigned32,
	extremeWirelessClientSpeedTX24		Unsigned32,
	extremeWirelessClientSpeedTX36		Unsigned32,
	extremeWirelessClientSpeedTX48		Unsigned32,
	extremeWirelessClientSpeedTX54		Unsigned32,
	extremeWirelessClientSpeedRX1		Unsigned32,
	extremeWirelessClientSpeedRX2		Unsigned32,
	extremeWirelessClientSpeedRX5p5		Unsigned32,
	extremeWirelessClientSpeedRX6		Unsigned32,
	extremeWirelessClientSpeedRX9		Unsigned32,
	extremeWirelessClientSpeedRX12		Unsigned32,
	extremeWirelessClientSpeedRX18		Unsigned32,
	extremeWirelessClientSpeedRX24		Unsigned32,
	extremeWirelessClientSpeedRX36		Unsigned32,
	extremeWirelessClientSpeedRX48		Unsigned32,
	extremeWirelessClientSpeedRX54		Unsigned32
}

extremeWirelessClientSpeedReXmit1	OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 1 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 1 }

extremeWirelessClientSpeedReXmit2	OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 2 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 2 }

extremeWirelessClientSpeedReXmit5p5 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 5 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 3 }

extremeWirelessClientSpeedReXmit6 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 6 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 4 }

extremeWirelessClientSpeedReXmit9 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 9 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 5 }

extremeWirelessClientSpeedReXmit12 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 12 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 6 }

extremeWirelessClientSpeedReXmit18 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 18 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 7 }

extremeWirelessClientSpeedReXmit24 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 24 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 8 }
	
extremeWirelessClientSpeedReXmit36 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 36 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 9 }

extremeWirelessClientSpeedReXmit48 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 48 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 10 }

extremeWirelessClientSpeedReXmit54 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were retransmitted to
	 the given client at 54 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 11 }

extremeWirelessClientSpeedTX1	OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 1 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 12 }

extremeWirelessClientSpeedTX2	OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 2 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 13 }

extremeWirelessClientSpeedTX5p5 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 5 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 14 }

extremeWirelessClientSpeedTX6 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 6 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 15 }

extremeWirelessClientSpeedTX9 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 9 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 16 }

extremeWirelessClientSpeedTX12 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 12 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 17 }

extremeWirelessClientSpeedTX18 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 18 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 18 }

extremeWirelessClientSpeedTX24 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 24 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 19 }
	
extremeWirelessClientSpeedTX36 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 36 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 20 }

extremeWirelessClientSpeedTX48 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 48 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 21 }

extremeWirelessClientSpeedTX54 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were transmitted to
	 the given client at 54 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 22 }

extremeWirelessClientSpeedRX1	OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 1 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 23 }

extremeWirelessClientSpeedRX2	OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 2 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 24 }

extremeWirelessClientSpeedRX5p5 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 5 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 25 }

extremeWirelessClientSpeedRX6 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 6 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 26 }

extremeWirelessClientSpeedRX9 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 9 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 27 }

extremeWirelessClientSpeedRX12 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 12 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 28 }

extremeWirelessClientSpeedRX18 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 18 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 29 }

extremeWirelessClientSpeedRX24 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 24 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 30 }
	
extremeWirelessClientSpeedRX36 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 36 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 31 }

extremeWirelessClientSpeedRX48 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 48 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 32 }

extremeWirelessClientSpeedRX54 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frags which were received from
	 the given client at 54 Mbps."
	::= { extremeWirelessClientSpeedCounterEntry 33 }

-- *************************************************************** --
-- Frame Size Table : This table presents a historgram of frames   --
--                    based on type and size.                      --
-- *************************************************************** --
extremeWirelessIntfFrameSizeTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessIntfFrameSizeEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"There is one entry in this table for each virtual and
	 physical interface.  Values for physical interfaces are
	 summations of the values for the constituent virtual 
	 interfaces."
	 ::= { extremeAP 39 }

extremeWirelessIntfFrameSizeEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessIntfFrameSizeEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex }
	 ::= { extremeWirelessIntfFrameSizeTable 1 }
ExtremeWirelessIntfFrameSizeEntry ::= SEQUENCE {
	extremeWirelessIntfFrameSizeMgmtTX64	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtTX128	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtTX256	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtTX512	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtTX1024	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtTX2048	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtRX64	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtRX128	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtRX256	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtRX512	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtRX1024	Unsigned32,
	extremeWirelessIntfFrameSizeMgmtRX2048	Unsigned32,
	extremeWirelessIntfFrameSizeCtlTX64	Unsigned32,
	extremeWirelessIntfFrameSizeCtlTX128	Unsigned32,
	extremeWirelessIntfFrameSizeCtlTX256	Unsigned32,
	extremeWirelessIntfFrameSizeCtlTX512	Unsigned32,
	extremeWirelessIntfFrameSizeCtlTX1024	Unsigned32,
	extremeWirelessIntfFrameSizeCtlTX2048	Unsigned32,
	extremeWirelessIntfFrameSizeCtlRX64	Unsigned32,
	extremeWirelessIntfFrameSizeCtlRX128	Unsigned32,
	extremeWirelessIntfFrameSizeCtlRX256	Unsigned32,
	extremeWirelessIntfFrameSizeCtlRX512	Unsigned32,
	extremeWirelessIntfFrameSizeCtlRX1024	Unsigned32,
	extremeWirelessIntfFrameSizeCtlRX2048	Unsigned32,
	extremeWirelessIntfFrameSizeDataTX64	Unsigned32,
	extremeWirelessIntfFrameSizeDataTX128	Unsigned32,
	extremeWirelessIntfFrameSizeDataTX256	Unsigned32,
	extremeWirelessIntfFrameSizeDataTX512	Unsigned32,
	extremeWirelessIntfFrameSizeDataTX1024	Unsigned32,
	extremeWirelessIntfFrameSizeDataTX2048	Unsigned32,
	extremeWirelessIntfFrameSizeDataRX64	Unsigned32,
	extremeWirelessIntfFrameSizeDataRX128	Unsigned32,
	extremeWirelessIntfFrameSizeDataRX256	Unsigned32,
	extremeWirelessIntfFrameSizeDataRX512	Unsigned32,
	extremeWirelessIntfFrameSizeDataRX1024	Unsigned32,
	extremeWirelessIntfFrameSizeDataRX2048	Unsigned32 }

extremeWirelessIntfFrameSizeMgmtTX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames transmitted 
	 on this interface which were less than or equal to 64 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 1 }

extremeWirelessIntfFrameSizeMgmtTX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames transmitted 
	 on this interface which were between 65 and 128 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 2 }

extremeWirelessIntfFrameSizeMgmtTX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames transmitted 
	 on this interface which were between 129 and 256 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 3 }

extremeWirelessIntfFrameSizeMgmtTX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames transmitted 
	 on this interface which were between 257 and 512 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 4 }

extremeWirelessIntfFrameSizeMgmtTX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames transmitted 
	 on this interface which were between 513 and 1024 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 5 }

extremeWirelessIntfFrameSizeMgmtTX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames transmitted 
	 on this interface which were between 1025 and 2048 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 6 }

extremeWirelessIntfFrameSizeMgmtRX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames received 
	 on this interface which were less than or equal to 64 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 7 }

extremeWirelessIntfFrameSizeMgmtRX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames received 
	 on this interface which were between 65 and 128 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 8 }

extremeWirelessIntfFrameSizeMgmtRX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames received 
	 on this interface which were between 129 and 256 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 9 }

extremeWirelessIntfFrameSizeMgmtRX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames received 
	 on this interface which were between 257 and 512 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 10 }

extremeWirelessIntfFrameSizeMgmtRX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames received 
	 on this interface which were between 513 and 1024 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 11 }

extremeWirelessIntfFrameSizeMgmtRX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of management-type frames received 
	 on this interface which were between 1025 and 2048 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 12 }

extremeWirelessIntfFrameSizeCtlTX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames transmitted 
	 on this interface which were less than or equal to 64 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 13 }

extremeWirelessIntfFrameSizeCtlTX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames transmitted 
	 on this interface which were between 65 and 128 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 14 }

extremeWirelessIntfFrameSizeCtlTX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames transmitted 
	 on this interface which were between 129 and 256 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 15 }

extremeWirelessIntfFrameSizeCtlTX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames transmitted 
	 on this interface which were between 257 and 512 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 16 }

extremeWirelessIntfFrameSizeCtlTX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames transmitted 
	 on this interface which were between 513 and 1024 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 17 }

extremeWirelessIntfFrameSizeCtlTX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames transmitted 
	 on this interface which were between 1025 and 2048 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 18 }

extremeWirelessIntfFrameSizeCtlRX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames received 
	 on this interface which were less than or equal to 64 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 19 }

extremeWirelessIntfFrameSizeCtlRX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames received 
	 on this interface which were between 65 and 128 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 20 }

extremeWirelessIntfFrameSizeCtlRX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames received 
	 on this interface which were between 129 and 256 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 21 }

extremeWirelessIntfFrameSizeCtlRX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames received 
	 on this interface which were between 257 and 512 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 22 }

extremeWirelessIntfFrameSizeCtlRX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames received 
	 on this interface which were between 513 and 1024 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 23 }

extremeWirelessIntfFrameSizeCtlRX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of control-type frames received 
	 on this interface which were between 1025 and 2048 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 24 }

extremeWirelessIntfFrameSizeDataTX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames transmitted 
	 on this interface which were less than or equal to 64 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 25 }

extremeWirelessIntfFrameSizeDataTX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames transmitted 
	 on this interface which were between 65 and 128 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 26 }

extremeWirelessIntfFrameSizeDataTX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames transmitted 
	 on this interface which were between 129 and 256 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 27 }

extremeWirelessIntfFrameSizeDataTX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames transmitted 
	 on this interface which were between 257 and 512 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 28 }

extremeWirelessIntfFrameSizeDataTX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames transmitted 
	 on this interface which were between 513 and 1024 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 29 }

extremeWirelessIntfFrameSizeDataTX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames transmitted 
	 on this interface which were between 1025 and 2048 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 30 }

extremeWirelessIntfFrameSizeDataRX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames received 
	 on this interface which were less than or equal to 64 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 31 }

extremeWirelessIntfFrameSizeDataRX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames received 
	 on this interface which were between 65 and 128 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 32 }

extremeWirelessIntfFrameSizeDataRX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames received 
	 on this interface which were between 129 and 256 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 33 }

extremeWirelessIntfFrameSizeDataRX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames received 
	 on this interface which were between 257 and 512 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 34 }

extremeWirelessIntfFrameSizeDataRX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames received 
	 on this interface which were between 513 and 1024 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 35 }

extremeWirelessIntfFrameSizeDataRX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of data-type frames received 
	 on this interface which were between 1025 and 2048 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeEntry 36 }

-- *************************************************************** --
-- Frame errors by size.                                           --
-- *************************************************************** --
extremeWirelessIntfFrameSizeErrorTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessIntfFrameSizeErrorEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"There is one entry in this table for each virtual and
	 physical interface.  Values for physical interfaces are
	 summations of the values for the constituent virtual 
	 interfaces."
	 ::= { extremeAP 40 }

extremeWirelessIntfFrameSizeErrorEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessIntfFrameSizeErrorEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex }
	 ::= { extremeWirelessIntfFrameSizeErrorTable 1 }


ExtremeWirelessIntfFrameSizeErrorEntry ::= SEQUENCE {
	extremeWirelessIntfFrameSizeReXmit64	Unsigned32,
	extremeWirelessIntfFrameSizeReXmit128	Unsigned32,
	extremeWirelessIntfFrameSizeReXmit256	Unsigned32,
	extremeWirelessIntfFrameSizeReXmit512	Unsigned32,
	extremeWirelessIntfFrameSizeReXmit1024	Unsigned32,
	extremeWirelessIntfFrameSizeReXmit2048	Unsigned32,
	extremeWirelessIntfFrameSizeErrorTX64	Unsigned32,
	extremeWirelessIntfFrameSizeErrorTX128	Unsigned32,
	extremeWirelessIntfFrameSizeErrorTX256	Unsigned32,
	extremeWirelessIntfFrameSizeErrorTX512	Unsigned32,
	extremeWirelessIntfFrameSizeErrorTX1024	Unsigned32,
	extremeWirelessIntfFrameSizeErrorTX2048	Unsigned32,
	extremeWirelessIntfFrameSizeErrorRX64	Unsigned32,
	extremeWirelessIntfFrameSizeErrorRX128	Unsigned32,
	extremeWirelessIntfFrameSizeErrorRX256	Unsigned32,
	extremeWirelessIntfFrameSizeErrorRX512	Unsigned32,
	extremeWirelessIntfFrameSizeErrorRX1024	Unsigned32,
	extremeWirelessIntfFrameSizeErrorRX2048	Unsigned32 }

extremeWirelessIntfFrameSizeReXmit64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames retransmitted on this 
	 interface which were less than or equal to 64 bytes
	 in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 1 }

extremeWirelessIntfFrameSizeReXmit128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames retransmitted on this 
	 interface which were between 65 and 128 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 2 }

extremeWirelessIntfFrameSizeReXmit256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames retransmitted on this 
	 interface which were between 129 and 256 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 3 }

extremeWirelessIntfFrameSizeReXmit512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames retransmitted on this 
	 interface which were between 257 and 512 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 4 }

extremeWirelessIntfFrameSizeReXmit1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames retransmitted on this 
	 interface which were between 513 and 1024 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 5 }

extremeWirelessIntfFrameSizeReXmit2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames retransmitted on this 
	 interface which were between 1025 and 2048 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 6 }

extremeWirelessIntfFrameSizeErrorTX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which failed to be 
	 transmitted interface which were less than or equal 
	 to 64 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 7 }

extremeWirelessIntfFrameSizeErrorTX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which failed to be 
	 transmitted interface which were between 65 and 128
	 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 8 }

extremeWirelessIntfFrameSizeErrorTX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which failed to be 
	 transmitted interface which were between 129 and 256
	 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 9 }

extremeWirelessIntfFrameSizeErrorTX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which failed to be 
	 transmitted interface which were between 257 and 512
	 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 10 }

extremeWirelessIntfFrameSizeErrorTX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which failed to be 
	 transmitted interface which were between 513 and 1024
	 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 11 }

extremeWirelessIntfFrameSizeErrorTX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which failed to be 
	 transmitted interface which were between 1025 and 2048
	 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 12 }

extremeWirelessIntfFrameSizeErrorRX64 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which had errors on
	 receive on this interface which were less than or equal 
	 to 64 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 13 }

extremeWirelessIntfFrameSizeErrorRX128 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which had errors on
	 receive on this interface which were between 65 and
	 128 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 14 }

extremeWirelessIntfFrameSizeErrorRX256 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which had errors on
	 receive on this interface which were between 129 and
	 256 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 15 }

extremeWirelessIntfFrameSizeErrorRX512 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which had errors on
	 receive on this interface which were between 257 and
	 512 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 16 }

extremeWirelessIntfFrameSizeErrorRX1024 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which had errors on
	 receive on this interface which were between 513 and
	 1024 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 17 }

extremeWirelessIntfFrameSizeErrorRX2048 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which had errors on
	 receive on this interface which were between 1025 and
	 2048 bytes in length."
	 ::= { extremeWirelessIntfFrameSizeErrorEntry 18 }

-- *************************************************************** --
-- TX/RX Histogram based on speed.
-- *************************************************************** --
extremeWirelessIntfFrameSpeedTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessIntfFrameSpeedEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"There is one entry in this table for each virtual and
	 physical interface.  Values for physical interfaces are
	 summations of the values for the constituent virtual 
	 interfaces."
	 ::= { extremeAP 41 }

extremeWirelessIntfFrameSpeedEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessIntfFrameSpeedEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex }
	 ::= { extremeWirelessIntfFrameSpeedTable 1 }

ExtremeWirelessIntfFrameSpeedEntry ::= SEQUENCE {
	extremeWirelessIntfSpeedMgmtTX1		Unsigned32,
	extremeWirelessIntfSpeedMgmtTX2		Unsigned32,
	extremeWirelessIntfSpeedMgmtTX5p5	Unsigned32,
	extremeWirelessIntfSpeedMgmtTX6		Unsigned32,
	extremeWirelessIntfSpeedMgmtTX9		Unsigned32,
    extremeWirelessIntfSpeedMgmtTX11    Unsigned32,
	extremeWirelessIntfSpeedMgmtTX12	Unsigned32,
	extremeWirelessIntfSpeedMgmtTX18	Unsigned32,
	extremeWirelessIntfSpeedMgmtTX24	Unsigned32,
	extremeWirelessIntfSpeedMgmtTX36	Unsigned32,
	extremeWirelessIntfSpeedMgmtTX48	Unsigned32,
	extremeWirelessIntfSpeedMgmtTX54	Unsigned32,
	extremeWirelessIntfSpeedMgmtRX1		Unsigned32,
	extremeWirelessIntfSpeedMgmtRX2		Unsigned32,
	extremeWirelessIntfSpeedMgmtRX5p5	Unsigned32,
	extremeWirelessIntfSpeedMgmtRX6		Unsigned32,
	extremeWirelessIntfSpeedMgmtRX9		Unsigned32,
	extremeWirelessIntfSpeedMgmtRX11	Unsigned32,
	extremeWirelessIntfSpeedMgmtRX12	Unsigned32,
	extremeWirelessIntfSpeedMgmtRX18	Unsigned32,
	extremeWirelessIntfSpeedMgmtRX24	Unsigned32,
	extremeWirelessIntfSpeedMgmtRX36	Unsigned32,
	extremeWirelessIntfSpeedMgmtRX48	Unsigned32,
	extremeWirelessIntfSpeedMgmtRX54	Unsigned32,
	extremeWirelessIntfSpeedCtlTX1		Unsigned32,
	extremeWirelessIntfSpeedCtlTX2		Unsigned32,
	extremeWirelessIntfSpeedCtlTX5p5	Unsigned32,
	extremeWirelessIntfSpeedCtlTX6		Unsigned32,
	extremeWirelessIntfSpeedCtlTX9		Unsigned32,
    extremeWirelessIntfSpeedCtlTX11     Unsigned32,
	extremeWirelessIntfSpeedCtlTX12		Unsigned32,
	extremeWirelessIntfSpeedCtlTX18		Unsigned32,
	extremeWirelessIntfSpeedCtlTX24		Unsigned32,
	extremeWirelessIntfSpeedCtlTX36		Unsigned32,
	extremeWirelessIntfSpeedCtlTX48		Unsigned32,
	extremeWirelessIntfSpeedCtlTX54		Unsigned32,
	extremeWirelessIntfSpeedCtlRX1		Unsigned32,
	extremeWirelessIntfSpeedCtlRX2		Unsigned32,
	extremeWirelessIntfSpeedCtlRX5p5	Unsigned32,
	extremeWirelessIntfSpeedCtlRX6		Unsigned32,
	extremeWirelessIntfSpeedCtlRX9		Unsigned32,
    extremeWirelessIntfSpeedCtlRX11     Unsigned32,
	extremeWirelessIntfSpeedCtlRX12		Unsigned32,
	extremeWirelessIntfSpeedCtlRX18		Unsigned32,
	extremeWirelessIntfSpeedCtlRX24		Unsigned32,
	extremeWirelessIntfSpeedCtlRX36		Unsigned32,
	extremeWirelessIntfSpeedCtlRX48		Unsigned32,
	extremeWirelessIntfSpeedCtlRX54		Unsigned32,
	extremeWirelessIntfSpeedDataTX1		Unsigned32,
	extremeWirelessIntfSpeedDataTX2		Unsigned32,
	extremeWirelessIntfSpeedDataTX5p5	Unsigned32,
	extremeWirelessIntfSpeedDataTX6		Unsigned32,
	extremeWirelessIntfSpeedDataTX9		Unsigned32,
    extremeWirelessIntfSpeedDataTX11    Unsigned32,
	extremeWirelessIntfSpeedDataTX12	Unsigned32,
	extremeWirelessIntfSpeedDataTX18	Unsigned32,
	extremeWirelessIntfSpeedDataTX24	Unsigned32,
	extremeWirelessIntfSpeedDataTX36	Unsigned32,
	extremeWirelessIntfSpeedDataTX48	Unsigned32,
	extremeWirelessIntfSpeedDataTX54	Unsigned32,
	extremeWirelessIntfSpeedDataRX1		Unsigned32,
	extremeWirelessIntfSpeedDataRX2		Unsigned32,
	extremeWirelessIntfSpeedDataRX5p5	Unsigned32,
	extremeWirelessIntfSpeedDataRX6		Unsigned32,
	extremeWirelessIntfSpeedDataRX9		Unsigned32,
    extremeWirelessIntfSpeedDataRX11    Unsigned32,
	extremeWirelessIntfSpeedDataRX12	Unsigned32,
	extremeWirelessIntfSpeedDataRX18	Unsigned32,
	extremeWirelessIntfSpeedDataRX24	Unsigned32,
	extremeWirelessIntfSpeedDataRX36	Unsigned32,
	extremeWirelessIntfSpeedDataRX48	Unsigned32,
	extremeWirelessIntfSpeedDataRX54	Unsigned32 }

extremeWirelessIntfSpeedMgmtTX1 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 1Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 1 }

extremeWirelessIntfSpeedMgmtTX2 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 2Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 2 }

extremeWirelessIntfSpeedMgmtTX5p5 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 5.5Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 3 }

extremeWirelessIntfSpeedMgmtTX6 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 6Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 4 }

extremeWirelessIntfSpeedMgmtTX9 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 9Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 5 }

extremeWirelessIntfSpeedMgmtTX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of management-type frames transmitted
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 6 }

extremeWirelessIntfSpeedMgmtTX12 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 12Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 7 }

extremeWirelessIntfSpeedMgmtTX18 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 18Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 8 }

extremeWirelessIntfSpeedMgmtTX24 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 24Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 9 }

extremeWirelessIntfSpeedMgmtTX36 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 36Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 10 }

extremeWirelessIntfSpeedMgmtTX48 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 48Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 11 }

extremeWirelessIntfSpeedMgmtTX54 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames transmitted
	 on this interface at 54Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 12 }

extremeWirelessIntfSpeedMgmtRX1 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 1Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 13 }

extremeWirelessIntfSpeedMgmtRX2 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 2Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 14 }

extremeWirelessIntfSpeedMgmtRX5p5 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 5.5Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 15 }

extremeWirelessIntfSpeedMgmtRX6 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 6Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 16 }

extremeWirelessIntfSpeedMgmtRX9 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 9Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 17 }

extremeWirelessIntfSpeedMgmtRX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of management-type frames recieved
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 18 }

extremeWirelessIntfSpeedMgmtRX12 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 12Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 19 }

extremeWirelessIntfSpeedMgmtRX18 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 18Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 20 }

extremeWirelessIntfSpeedMgmtRX24 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 24Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 21 }

extremeWirelessIntfSpeedMgmtRX36 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 36Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 22 }

extremeWirelessIntfSpeedMgmtRX48 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 48Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 23 }

extremeWirelessIntfSpeedMgmtRX54 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of management-type frames recieved
	 on this interface at 54Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 24 }

extremeWirelessIntfSpeedCtlTX1 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 1Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 25 }

extremeWirelessIntfSpeedCtlTX2 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 2Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 26 }

extremeWirelessIntfSpeedCtlTX5p5 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 5.5Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 27 }

extremeWirelessIntfSpeedCtlTX6 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 6Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 28 }

extremeWirelessIntfSpeedCtlTX9 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 9Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 29 }

extremeWirelessIntfSpeedCtlTX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of control-type frames transmitted
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 30 }

extremeWirelessIntfSpeedCtlTX12 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 12Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 31 }

extremeWirelessIntfSpeedCtlTX18 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 18Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 32 }

extremeWirelessIntfSpeedCtlTX24 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 24Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 33 }

extremeWirelessIntfSpeedCtlTX36 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 36Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 34 }

extremeWirelessIntfSpeedCtlTX48 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 48Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 35 }

extremeWirelessIntfSpeedCtlTX54 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames transmitted
	 on this interface at 54Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 36 }

extremeWirelessIntfSpeedCtlRX1 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 1Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 37 }

extremeWirelessIntfSpeedCtlRX2 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 2Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 38 }

extremeWirelessIntfSpeedCtlRX5p5 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 5.5Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 39 }

extremeWirelessIntfSpeedCtlRX6 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 6Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 40 }

extremeWirelessIntfSpeedCtlRX9 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 9Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 41 }

extremeWirelessIntfSpeedCtlRX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of control-type frames recieved
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 42 }


extremeWirelessIntfSpeedCtlRX12 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 12Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 43 }

extremeWirelessIntfSpeedCtlRX18 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 18Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 44 }

extremeWirelessIntfSpeedCtlRX24 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 24Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 45 }

extremeWirelessIntfSpeedCtlRX36 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 36Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 46 }

extremeWirelessIntfSpeedCtlRX48 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 48Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 47 }

extremeWirelessIntfSpeedCtlRX54 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of control-type frames recieved
	 on this interface at 54Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 48 }

extremeWirelessIntfSpeedDataTX1 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 1Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 49 }

extremeWirelessIntfSpeedDataTX2 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 2Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 50 }

extremeWirelessIntfSpeedDataTX5p5 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 5.5Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 51 }

extremeWirelessIntfSpeedDataTX6 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 6Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 52 }

extremeWirelessIntfSpeedDataTX9 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 9Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 53 }

extremeWirelessIntfSpeedDataTX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of data-type frames transmitted
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 54 }

extremeWirelessIntfSpeedDataTX12 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 12Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 55 }

extremeWirelessIntfSpeedDataTX18 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 18Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 56 }

extremeWirelessIntfSpeedDataTX24 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 24Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 57 }

extremeWirelessIntfSpeedDataTX36 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 36Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 58 }

extremeWirelessIntfSpeedDataTX48 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 48Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 59 }

extremeWirelessIntfSpeedDataTX54 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames transmitted
	 on this interface at 54Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 60 }

extremeWirelessIntfSpeedDataRX1 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 1Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 61 }

extremeWirelessIntfSpeedDataRX2 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 2Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 62 }

extremeWirelessIntfSpeedDataRX5p5 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 5.5Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 63 }

extremeWirelessIntfSpeedDataRX6 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 6Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 64 }

extremeWirelessIntfSpeedDataRX9 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 9Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 65 }

extremeWirelessIntfSpeedDataRX11 OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
     "This gives the number of data-type frames recieved
     on this interface at 11Mbps."
     ::= { extremeWirelessIntfFrameSpeedEntry 66 }

extremeWirelessIntfSpeedDataRX12 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 12Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 67 }

extremeWirelessIntfSpeedDataRX18 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 18Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 68 }

extremeWirelessIntfSpeedDataRX24 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 24Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 69 }

extremeWirelessIntfSpeedDataRX36 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 36Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 70 }

extremeWirelessIntfSpeedDataRX48 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 48Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 71 }

extremeWirelessIntfSpeedDataRX54 OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This gives the number of data-type frames recieved
	 on this interface at 54Mbps."
	 ::= { extremeWirelessIntfFrameSpeedEntry 72 }

-- *************************************************************** --
-- Error Histograms of retransmission by frame speed.              --
-- *************************************************************** --
extremeWirelessIntfFrameSpeedErrorTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessIntfFrameSpeedErrorEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"There is one entry in this table for each virtual and
	 physical interface.  Values for physical interfaces are
	 summations of the values for the constituent virtual 
	 interfaces."
	 ::= { extremeAP 42 }

extremeWirelessIntfFrameSpeedErrorEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessIntfFrameSpeedErrorEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex }
	 ::= { extremeWirelessIntfFrameSpeedErrorTable 1 }

ExtremeWirelessIntfFrameSpeedErrorEntry ::= SEQUENCE {
	extremeWirelessIntfSpeedReXmit1		Unsigned32,
	extremeWirelessIntfSpeedReXmit2		Unsigned32,
	extremeWirelessIntfSpeedReXmit5p5	Unsigned32,
	extremeWirelessIntfSpeedReXmit6		Unsigned32,
	extremeWirelessIntfSpeedReXmit9		Unsigned32,
    extremeWirelessIntfSpeedReXmit11    Unsigned32,
	extremeWirelessIntfSpeedReXmit12	Unsigned32,
	extremeWirelessIntfSpeedReXmit18	Unsigned32,
	extremeWirelessIntfSpeedReXmit24	Unsigned32,
	extremeWirelessIntfSpeedReXmit36	Unsigned32,
	extremeWirelessIntfSpeedReXmit48	Unsigned32,
	extremeWirelessIntfSpeedReXmit54	Unsigned32,
    extremeWirelessIntfSpeedErrorTX1    Unsigned32,
    extremeWirelessIntfSpeedErrorTX2    Unsigned32,
    extremeWirelessIntfSpeedErrorTX5p5  Unsigned32,
    extremeWirelessIntfSpeedErrorTX6    Unsigned32,
    extremeWirelessIntfSpeedErrorTX9    Unsigned32,
    extremeWirelessIntfSpeedErrorTX11   Unsigned32,
    extremeWirelessIntfSpeedErrorTX12   Unsigned32,
    extremeWirelessIntfSpeedErrorTX18   Unsigned32,
    extremeWirelessIntfSpeedErrorTX24   Unsigned32,
    extremeWirelessIntfSpeedErrorTX36   Unsigned32,
    extremeWirelessIntfSpeedErrorTX48   Unsigned32,
    extremeWirelessIntfSpeedErrorTX54   Unsigned32,
	extremeWirelessIntfSpeedErrorRX1	Unsigned32,
	extremeWirelessIntfSpeedErrorRX2	Unsigned32,
	extremeWirelessIntfSpeedErrorRX5p5	Unsigned32,
	extremeWirelessIntfSpeedErrorRX6	Unsigned32,
	extremeWirelessIntfSpeedErrorRX9	Unsigned32,
    extremeWirelessIntfSpeedErrorRX11   Unsigned32,
	extremeWirelessIntfSpeedErrorRX12	Unsigned32,
	extremeWirelessIntfSpeedErrorRX18	Unsigned32,
	extremeWirelessIntfSpeedErrorRX24	Unsigned32,
	extremeWirelessIntfSpeedErrorRX36	Unsigned32,
	extremeWirelessIntfSpeedErrorRX48	Unsigned32,
	extremeWirelessIntfSpeedErrorRX54	Unsigned32 }

extremeWirelessIntfSpeedReXmit1	OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 1 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 1 }

extremeWirelessIntfSpeedReXmit2	OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 2 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 2 }

extremeWirelessIntfSpeedReXmit5p5 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 5 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 3 }

extremeWirelessIntfSpeedReXmit6 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 6 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 4 }

extremeWirelessIntfSpeedReXmit9 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 9 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 5 }

extremeWirelessIntfSpeedReXmit11 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were retransmitted on
    this interface at 11 Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 6 }

extremeWirelessIntfSpeedReXmit12 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 12 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 7 }

extremeWirelessIntfSpeedReXmit18 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 18 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 8 }

extremeWirelessIntfSpeedReXmit24 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 24 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 9 }
	
extremeWirelessIntfSpeedReXmit36 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 36 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 10 }

extremeWirelessIntfSpeedReXmit48 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 48 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 11 }

extremeWirelessIntfSpeedReXmit54 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were retransmitted on
	 this interface at 54 Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 12 }

extremeWirelessIntfSpeedErrorTX1 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 1Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 13 }

extremeWirelessIntfSpeedErrorTX2 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 2Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 14 }

extremeWirelessIntfSpeedErrorTX5p5 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 5.5Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 15 }

extremeWirelessIntfSpeedErrorTX6 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 6Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 16 }

extremeWirelessIntfSpeedErrorTX9 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 9Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 17 }

extremeWirelessIntfSpeedErrorTX11 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 11Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 18 }

extremeWirelessIntfSpeedErrorTX12 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 12Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 19 }

extremeWirelessIntfSpeedErrorTX18 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 18Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 20 }

extremeWirelessIntfSpeedErrorTX24 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 24Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 21 }

extremeWirelessIntfSpeedErrorTX36 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 36Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 22 }

extremeWirelessIntfSpeedErrorTX48 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 48Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 23 }

extremeWirelessIntfSpeedErrorTX54 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were transmited with errors
    on this interface at 54Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 24 }

extremeWirelessIntfSpeedErrorRX1 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 1Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 25 }

extremeWirelessIntfSpeedErrorRX2 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 2Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 26 }

extremeWirelessIntfSpeedErrorRX5p5 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 5.5Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 27 }

extremeWirelessIntfSpeedErrorRX6 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 6Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 28 }

extremeWirelessIntfSpeedErrorRX9 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 9Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 29 }

extremeWirelessIntfSpeedErrorRX11 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "This gives the number of frames which were received with errors
    on this interface at 11Mbps."
    ::= { extremeWirelessIntfFrameSpeedErrorEntry 30 }

extremeWirelessIntfSpeedErrorRX12 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 12Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 31 }

extremeWirelessIntfSpeedErrorRX18 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 18Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 32 }

extremeWirelessIntfSpeedErrorRX24 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 24Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 33 }

extremeWirelessIntfSpeedErrorRX36 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 36Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 34 }

extremeWirelessIntfSpeedErrorRX48 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 48Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 35 }

extremeWirelessIntfSpeedErrorRX54 OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the number of frames which were received with errors
	 on this interface at 54Mbps."
	::= { extremeWirelessIntfFrameSpeedErrorEntry 36 }

-- *************************************************************** --
-- Interface utilization/noise.                                    --
-- *************************************************************** --
extremeWirelessIntfUtilizationTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessIntfUtilizationEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"There is one entry in this table for each virtual and
	 physical interface.  Values for physical interfaces are
	 summations of the values for the constituent virtual 
	 interfaces."
	 ::= { extremeAP 43 }

extremeWirelessIntfUtilizationEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessIntfUtilizationEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex }
	 ::= { extremeWirelessIntfUtilizationTable 1 }

ExtremeWirelessIntfUtilizationEntry ::= SEQUENCE {
	extremeWirelessIntfUtilizationNav	         Unsigned32,
	extremeWirelessIntfUtilizationNoiseFloor	 Unsigned32 }

extremeWirelessIntfUtilizationNav OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the instantaneous NAV value on this interface, or
	 some increasing-metric of utilization."
	::= { extremeWirelessIntfUtilizationEntry 1 }

extremeWirelessIntfUtilizationNoiseFloor OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the noise floor in dBm for this interface."
	::= { extremeWirelessIntfUtilizationEntry 2 }

-- *************************************************************** --
-- Opaque client MIBs. These mibs are provided as a performance    --
-- gain for the LAC management of the switch.                      --
--                                                                 --
-- Some of the items in this table are encoded as a series of TLVs.--
-- In this case, they are encoded as:                              --
--                                                                 --
--   | Type (8 bits) | length (8 bits) | value (variable) |        --
--                                                                 --
-- type - equal to the index field of the element                  --
--        in the table this value corresponds to.                  --
--                                                                 --
-- length - equal to the length in bytes of the value              --
--                                                                 --
-- value -  this is the value.  Integer value are NBO,             --
--          strings are non-null terminated ASCII.                 --
--                                                                 --
-- *************************************************************** --
extremeWirelessOpaqueTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ExtremeWirelessOpaqueEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	::= { extremeAP 99 }

extremeWirelessOpaqueEntry OBJECT-TYPE
	SYNTAX		ExtremeWirelessOpaqueEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		" "
	INDEX { ifIndex }
	::= { extremeWirelessOpaqueTable 1 }

ExtremeWirelessOpaqueEntry ::= SEQUENCE {
	extremeWirelessClientData		OCTET STRING,
	extremeWirelessPAEStatsData		OCTET STRING,
	extremeWirelessPAEDiagData		OCTET STRING,
	extremeWirelessScanResultsData		OCTET STRING,
	extremeWirelessProbeInfoData		OCTET STRING,
	extremeWirelessClientDiagData		OCTET STRING,
	extremeWirelessClientAssocData		OCTET STRING,
	extremeWirelessClientAuthData		OCTET STRING,
	extremeWirelessClientMACInfoData	OCTET STRING,
	extremeWirelessSizeCounterData		OCTET STRING,
	extremeWirelessSpeedCounterData		OCTET STRING }

extremeWirelessClientData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	""
	::= { extremeWirelessOpaqueEntry 1 }	

extremeWirelessPAEStatsData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	""
	::= { extremeWirelessOpaqueEntry 2 }	

extremeWirelessPAEDiagData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	""
	::= { extremeWirelessOpaqueEntry 3 }

extremeWirelessScanResultsData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This is the contents of the scan results table encoded
	 as a series of TLVs."
	::= { extremeWirelessOpaqueEntry 4 }

extremeWirelessProbeInfoData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This is the contents of the probe info table encoded 
	 as a series of TLVs.    Each item is encoded as the
	 entry above."
	::= { extremeWirelessOpaqueEntry 5 }

extremeWirelessClientDiagData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This is the contents of the client diag table encoded 
	 as a series of TLVs.    Each item is encoded as the
	 entry above."
	::= { extremeWirelessOpaqueEntry 6 }

extremeWirelessClientAssocData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This is the contents of the client assoc table encoded 
	 as a series of TLVs.    Each item is encoded as the
	 entry above.  Note that since the MAC address is not a
	 member of the table (it is an index) it will be encoded
	 as type = 0."
	::= { extremeWirelessOpaqueEntry 7 }

extremeWirelessClientAuthData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This is the contents of the client auth table encoded 
	 as a series of TLVs.    Each item is encoded as the
	 entry above.  Note that since the MAC address is not a
	 member of the table (it is an index) it will be encoded
	 as type = 0."
	::= { extremeWirelessOpaqueEntry 8 }

extremeWirelessClientMACInfoData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This is the contents of the client MAC info table 
	 encoded as a series of TLVs.    Each item is encoded 
	 as the entry above.  Note that since the MAC address 
	 is not a member of the table (it is an index) it will 
	 be encoded as type = 0."
	::= { extremeWirelessOpaqueEntry 9 }

extremeWirelessSizeCounterData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This is the contents of the client size counter table
	 encoded as a series of TLVs.    Each item is encoded 
	 as the entry above.  Note that since the MAC address 
	 is not a member of the table (it is an index) it will 
	 be encoded as type = 0."
	::= { extremeWirelessOpaqueEntry 10 }

extremeWirelessSpeedCounterData OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This is the contents of the client speed counter table
	 encoded as a series of TLVs.    Each item is encoded 
	 as the entry above.  Note that since the MAC address 
	 is not a member of the table (it is an index) it will 
	 be encoded as type = 0."
	::= { extremeWirelessOpaqueEntry 11 }

-- *************************************************************** --
-- TRACE MIBS                                                      --
--                                                                 --
-- These mibs are provided on a per-wireless port basis to support --
-- configurable tracing.  Each subsystem associated with a         --
-- wireless port has an entry in the trace module table.  These    --
-- entries allow for configuration of the current trace level.     --
-- statistics on each modules tracing output are also kept.  At    --
-- a global level several statistics are available from the trace  --
-- table.                                                          --
-- *************************************************************** --
extremeWirelessTraceTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessTraceTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	 "This table contains one entry per wireless port.  This
          allows access to various stastics about the tracing mod  --
          ule on that wireless port."
	::= { extremeAP 100 }

extremeWirelessTraceEntry OBJECT-TYPE
	SYNTAX 		ExtremeWirelessTraceTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex }
	::= { extremeWirelessTraceTable 1 }

ExtremeWirelessTraceTableEntry ::= SEQUENCE {
	extremeWirelessTraceMsgsOut	INTEGER,
	extremeWirelessTraceBytesOut	INTEGER,
	extremeWirelessTraceSuppressed  INTEGER,
	extremeWirelessTraceOtherErr	INTEGER,
	extremeWirelessTraceOpaque	OCTET STRING }

extremeWirelessTraceMsgsOut OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS 		current
	DESCRIPTION
	"This gives the number of trace messages the system has
	 sent out to the syslog server.  Suppressed messages are
	 not counted toward this total."
	::= { extremeWirelessTraceEntry 1 }

extremeWirelessTraceBytesOut OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This give the number of bytes total sent out by the
	 trace system.  This is a simple sum of the string
	 lengths of all messages sent out."
	::= { extremeWirelessTraceEntry 2 }

extremeWirelessTraceSuppressed OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This variable is incremented whenever a message is
	 not sent out because the trace level of that system
	 is lower than the message level."
	::= { extremeWirelessTraceEntry 3 }

extremeWirelessTraceOtherErr OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This variable is incremented when a message is not 
	 sent out due to internal errors (i.e. out of memory)."
	::= { extremeWirelessTraceEntry 4 }

extremeWirelessTraceOpaque OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"This is the opaque representation of the module table
	 to optimize retreival."
	::= { extremeWirelessTraceEntry 5 }

extremeWirelessTraceModuleTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessTraceModuleEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	 "This table contains one entry per trace module.  Each entry
	  is indexed by an arbitrary integer value."
	::= { extremeAP 101 }

extremeWirelessTraceModuleEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessTraceModuleEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	""
	INDEX { ifIndex, extremeWirelessTraceModuleId }
	::= { extremeWirelessTraceModuleTable 1 }

ExtremeWirelessTraceModuleEntry ::= SEQUENCE {
	extremeWirelessTraceModuleId	     INTEGER,
	extremeWirelessTraceModuleDesc       DisplayString,
	extremeWirelessTraceModuleHeader     DisplayString,
	extremeWirelessTraceModuleLevel      INTEGER,
	extremeWirelessTraceModuleSuppressed INTEGER,
	extremeWirelessTraceModuleMsgsOut    INTEGER,
	extremeWirelessTraceModuleBytesOut   INTEGER }

extremeWirelessTraceModuleId	     OBJECT-TYPE
	SYNTAX	INTEGER(0..65535)
	MAX-ACCESS not-accessible
	STATUS 	current
	DESCRIPTION
	"This is an arbitrary integer index which is assigned to each
	 trace module."
	::= { extremeWirelessTraceModuleEntry 1 }

extremeWirelessTraceModuleDesc	     OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS 	current
	DESCRIPTION
	"This is a string which briefly describes the purpose of this
	 debug trace.  It may include whitespace.  An example is:
		802.1x State Machine"
	::= { extremeWirelessTraceModuleEntry 2 }

extremeWirelessTraceModuleHeader     OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS read-only
	STATUS 	current
	DESCRIPTION
	"This is a string which is prepended to the syslog messages
	 sent out by this debug level.  It is short (5-6 characters) 
	 and does not contain white space. (i.e. DOT1X)"
	::= { extremeWirelessTraceModuleEntry 3 }

extremeWirelessTraceModuleLevel     OBJECT-TYPE
	SYNTAX	INTEGER(0..5)
	MAX-ACCESS read-write
	STATUS 	current
	DESCRIPTION
	"This value is the current debug level for this module.  A
	 lower value indicates that fewer messages will be generated
	 by the component.  A write on this value will update the
	 current debug level."
	::= { extremeWirelessTraceModuleEntry 4 }

extremeWirelessTraceModuleSuppressed     OBJECT-TYPE
	SYNTAX	INTEGER
	MAX-ACCESS read-only
	STATUS 	current
	DESCRIPTION
	"This value indicates the number of messages logged by
	 this module which have not been sent out because the
	 current log level is less than the level at which the
	 message should be logged."
	::= { extremeWirelessTraceModuleEntry 5 }

extremeWirelessTraceModuleMsgsOut     OBJECT-TYPE
	SYNTAX	INTEGER
	MAX-ACCESS read-only
	STATUS 	current
	DESCRIPTION
	"This value indicates the number messages which have
	 been logged by this component."
	::= { extremeWirelessTraceModuleEntry 6 }

extremeWirelessTraceModuleBytesOut     OBJECT-TYPE
	SYNTAX	INTEGER
	MAX-ACCESS read-only
	STATUS 	current
	DESCRIPTION
	"This value indicates the number of bytes which have
	 been logged by this component.  This count includes 
	 the header specified in extremeWirelessTraceModuleHeader."
	::= { extremeWirelessTraceModuleEntry 7 }

-- *************************************************************** --
--                    Log Diagnostic Counters                      --
--                                                                 --
-- The logging subsystem uses the following division : the event   --
-- logging system recieves all messages.  These message are then   --
-- passed to the syslog facility for remote logging, and then msgs --
-- may be stored in the NVRAM in the case where the log level is   --
-- greater than the log threshold.                                 --
-- *************************************************************** --
extremeWirelessLogDiagTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessLogDiagEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains counters per-log level for the event log,
	 syslog and NVRAM subsystems for logging."
	::= { extremeAP 102 }

extremeWirelessLogDiagEntry OBJECT-TYPE
	SYNTAX	ExtremeWirelessLogDiagEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"There is one entry in this table per physical port."
	INDEX { ifIndex }
	::= { extremeWirelessLogDiagTable 1 }

ExtremeWirelessLogDiagEntry ::= SEQUENCE {
	extremeWirelessLogDiagEventLogTotalCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalEmergCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalAlertCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalCritCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalErrorCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalWarnCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalNoticeCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalInfoCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalDebugCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalSuppressedCount Unsigned32,
	extremeWirelessLogDiagEventLogTotalByteCount Unsigned32,
	extremeWirelessLogDiagSyslogTotalEventCount Unsigned32,
	extremeWirelessLogDiagSyslogTotalSuppressedCount Unsigned32,
	extremeWirelessLogDiagSyslogTotalByteCount Unsigned32,
	extremeWirelessLogDiagNVRAMTotalEventCount Unsigned32,
	extremeWirelessLogDiagNVRAMTotalSuppressedCount Unsigned32,
	extremeWirelessLogDiagNVRAMTotalDroppedCount Unsigned32,
	extremeWirelessLogDiagNVRAMTotalByteCount Unsigned32,
	extremeWirelessLogDiagClearStats TruthValue }

extremeWirelessLogDiagEventLogTotalCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages logged since the
	 last time the statistics were cleared."
	::= { extremeWirelessLogDiagEntry 1 }

extremeWirelessLogDiagEventLogTotalEmergCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages logged at the EMERG
	 level."
	::= { extremeWirelessLogDiagEntry 2 }

extremeWirelessLogDiagEventLogTotalAlertCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages logged at the ALERT
	 level."
	::= { extremeWirelessLogDiagEntry 3 }

extremeWirelessLogDiagEventLogTotalCritCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages logged at the CRIT
	 level."
	::= { extremeWirelessLogDiagEntry 4 }

extremeWirelessLogDiagEventLogTotalErrorCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages logged at the ERROR
	 level."
	::= { extremeWirelessLogDiagEntry 5 }

extremeWirelessLogDiagEventLogTotalWarnCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages logged at the WARN
	 level."
	::= { extremeWirelessLogDiagEntry 6 }

extremeWirelessLogDiagEventLogTotalNoticeCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages logged at the NOTICE
	 level."
	::= { extremeWirelessLogDiagEntry 7 }

extremeWirelessLogDiagEventLogTotalInfoCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages logged at the INFO
	 level."
	::= { extremeWirelessLogDiagEntry 8 }

extremeWirelessLogDiagEventLogTotalDebugCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages logged at the DEBUG
	 level."
	::= { extremeWirelessLogDiagEntry 9 }

extremeWirelessLogDiagEventLogTotalSuppressedCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages which were suppressed
	 due to log level."
	::= { extremeWirelessLogDiagEntry 10 }

extremeWirelessLogDiagEventLogTotalByteCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of bytes logged by the logging
	 subsystem."
	::= { extremeWirelessLogDiagEntry 11 }

extremeWirelessLogDiagSyslogTotalEventCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of messages which have been sent
	 out to remote syslog servers."
	::= { extremeWirelessLogDiagEntry 12 }

extremeWirelessLogDiagSyslogTotalSuppressedCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of syslog messages which have been 
	 suppressed due to log level."
	::= { extremeWirelessLogDiagEntry 13 }

extremeWirelessLogDiagSyslogTotalByteCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This gives the total number of bytes of syslog messages which have
	 been logged."
	::= { extremeWirelessLogDiagEntry 14 }

extremeWirelessLogDiagNVRAMTotalEventCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Total number of messages which have been logged to NVRAM."
	::= { extremeWirelessLogDiagEntry 15 }

extremeWirelessLogDiagNVRAMTotalSuppressedCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Total number of messages which have been suppressed by NVRAM
	 due to NVRAM threashold."
	::= { extremeWirelessLogDiagEntry 16 }

extremeWirelessLogDiagNVRAMTotalDroppedCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Total number of messages which have been dropped by the 
	 NVRAM."
	::= { extremeWirelessLogDiagEntry 17 }

extremeWirelessLogDiagNVRAMTotalByteCount OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Total number of bytes which have been written to the NVRAM."
	::= { extremeWirelessLogDiagEntry 18 }

extremeWirelessLogDiagClearStats OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting this value to TRUE causes the statistics to be reset to
	 0.  Reading this value has no meaning."
	::= { extremeWirelessLogDiagEntry 19 }

-- *************************************************************** --
--                           TRAPS                                 --
--                                                                 --
-- NOTE: We define client Authentication and association traps but --
--       performance may dictate that this not be done.  In that   --
--       case we have already provided the Authentication and      --
--       association totals which can be watched from RMON.        --
--                                                                 --
-- NOTE: The MAP State Change trap is not sent when the MAP is     --
--       first discovered.  The first trap is sent by EDP.         --
-- *************************************************************** --
extremeWirelessPortStateChange NOTIFICATION-TYPE
	OBJECTS { ifIndex,
		  extremeWirelessPortState }
	STATUS current
	DESCRIPTION
		"This trap is generated when a wireless port moves 
		 into enabled, disabled or online."
	::= { extremeAPTrapsPrefix 1 }

extremeWirelessPortBootFailure NOTIFICATION-TYPE
       OBJECTS { extremeWirelessPortIfIndex }
       STATUS current
       DESCRIPTION
               "This trap is sent by the platform if a wireless 
		port fails to boot too many times."
       ::= { extremeAPTrapsPrefix 2 }

extremeWirelessClientStationAgedOut NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessClientID }
       STATUS current
       DESCRIPTION
               "This trap is generated when a client is aged out 
		of the table."
       ::= { extremeAPTrapsPrefix 3 }

extremeWirelessNetloginClientAssociated NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessClientID }
       STATUS current
       DESCRIPTION
               "This trap is generated when a client has associated 
		to an interface that is web based network login 
		enabled."
       ::= { extremeAPTrapsPrefix 4 }

extremeWirelessAPAdded NOTIFICATION-TYPE
       OBJECTS { ifIndex, 
		 extremeWirelessScanResultsStationId,
		 extremeWirelessScanResultsFirstSeen,
		 extremeWirelessScanResultsLastChange,
		 extremeWirelessScanResultsPacketRate,
		 extremeWirelessScanResultsChannel,
		 extremeWirelessScanResultsAvgRSS,
		 extremeWirelessScanResultsSSID,
		 extremeWirelessScanResultsRSNEnabled,
		 extremeWirelessScanResultsPrivacy,
		 extremeWirelessScanResultsNetworkType,
		 extremeWirelessScanWPAIEMcastCipher,
		 extremeWirelessScanWPAUcastCipherCount,
	 	 extremeWirelessScanWPAUcastCipher,
		 extremeWirelessScanWPAKeyMgmtCount,
		 extremeWirelessScanWPAKeyMgmtSuite,
         extremeWirelessScanResultsRateSet,      
         extremeWirelessScanResultsExtRateSet }
       STATUS current
       DESCRIPTION
               "This is generated when a new AP is added to the
	 	scan results table.  It will ony be generated if
	 	the value of extremeWirelessScanSendAPAddedTrap
		is true."
       ::= { extremeAPTrapsPrefix 5 }

extremeWirelessAPRemoved NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessScanResultsStationId }
       STATUS current
       DESCRIPTION
               "This is generated when an AP is removed from the
	 	scan results table.  It will ony be generated if
	 	the value of extremeWirelessScanSendAPRemovedTrap
		is true."
       ::= { extremeAPTrapsPrefix 6 }

extremeWirelessAPUpdated NOTIFICATION-TYPE
       OBJECTS { ifIndex, 
		 extremeWirelessScanResultsStationId,
		 extremeWirelessScanResultsFirstSeen,
		 extremeWirelessScanResultsLastChange,
		 extremeWirelessScanResultsPacketRate,
		 extremeWirelessScanResultsChannel,
		 extremeWirelessScanResultsAvgRSS,
		 extremeWirelessScanResultsSSID,
		 extremeWirelessScanResultsRSNEnabled,
		 extremeWirelessScanResultsPrivacy,
		 extremeWirelessScanResultsNetworkType,
		 extremeWirelessScanWPAIEMcastCipher,
		 extremeWirelessScanWPAUcastCipherCount,
	 	 extremeWirelessScanWPAUcastCipher,
		 extremeWirelessScanWPAKeyMgmtCount,
		 extremeWirelessScanWPAKeyMgmtSuite,
         extremeWirelessScanResultsRateSet,
         extremeWirelessScanResultsExtRateSet }
       STATUS current
       DESCRIPTION
               "This is generated when the IEs recorded for an AP
		in the scan results table change.  It will only be
		generated if the value of SendAPUpdatedTrap is true."
       ::= { extremeAPTrapsPrefix 7 }

extremeWirelessProbeInfoAdded NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessProbeInfoSource }
       STATUS current
       DESCRIPTION
               "This is generated when a new station is added to the
		probe info table.  It will only be generated if the 
		value of extremeWirelessProbeInfoSendAddedTrap is true."
       ::= { extremeAPTrapsPrefix 8 }

extremeWirelessProbeInfoRemoved NOTIFICATION-TYPE
       OBJECTS { ifIndex, extremeWirelessProbeInfoSource }
       STATUS current
       DESCRIPTION
               "This is generated when a station is removed from the
		probe info table.  It will only be generated if the 
		value of extremeWirelessProbeInfoSendRemovedTrap is 
		true."
       ::= { extremeAPTrapsPrefix 9 }

extremeWirelessOffChannelScanStarted NOTIFICATION-TYPE
	OBJECTS { ifIndex, extremeWirelessOffChannelScanList }
        STATUS current
        DESCRIPTION
                "This is generated when an off-channel scan starts
                 running."
        ::= { extremeAPTrapsPrefix 10 }

extremeWirelessOffChannelScanFinished NOTIFICATION-TYPE
        OBJECTS { ifIndex, extremeWirelessOffChannelScanList }
        STATUS current
        DESCRIPTION
                "This is generated when an off-channel scan finishes
                 running."
        ::= { extremeAPTrapsPrefix 11 }

extremeWirelessCounterMeasureStarted NOTIFICATION-TYPE
        OBJECTS { ifIndex, extremeWirelessCounterMeasureSource }
        STATUS current
        DESCRIPTION
        "This trap is generated when counter measures are started
        on a wireless interface."
        ::= { extremeAPTrapsPrefix 12 }

extremeWirelessCounterMeasureStopped NOTIFICATION-TYPE
        OBJECTS { ifIndex }
        STATUS current
        DESCRIPTION
        "This trap is generated when counter measures are stopped
        on a wireless interface."
        ::= { extremeAPTrapsPrefix 13 }

--DFS related
extremeWirelessInterfaceChannelRescan NOTIFICATION-TYPE
        OBJECTS { ifIndex,
                  extremeWirelessPhysInterfacePHYChannel,
                  extremeWirelessPhysInterfaceChannelAutoSelectStatus
            }
        STATUS current
        DESCRIPTION
                "This trap is generated when a wireless interface tries to
autoselect a channel. It indicates whether a particular channel scan was
successful, or if it failed then the reason for the failure."
        ::= { extremeAPTrapsPrefix 14 }

        --
        -- TODO: Should we move this somewhere else?
        --
extremeWirelessCounterMeasureSource OBJECT-TYPE
        SYNTAX INTEGER { clientReport(1),
            micFailure(2) }
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
            "This value is used in the counter measure traps to indicate the
            reason that counter measures have been invoked."
            ::= { extremeAP 44 }

extremeWirelessClientWPAStatsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ExtremeWirelessClientWPAStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table contains information of the WPA state transitions
	on a per-client basis.  Rows are indexed first by virtual
	interface, then by client MAC."
	 ::= { extremeAP 47 }

extremeWirelessClientWPAStatsEntry OBJECT-TYPE
	SYNTAX ExtremeWirelessClientWPAStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Note that ifIndex here is virtual ifIndex (SSID)."
	INDEX { ifIndex, extremeWirelessClientDiagMac }
	 ::= { extremeWirelessClientWPAStatsTable 1 }

ExtremeWirelessClientWPAStatsEntry ::= SEQUENCE {
	extremeWirelessClientWPAStatsStarts	Counter32,
	extremeWirelessClientWPAStatsPairwiseKeySuccesses	Counter32,
	extremeWirelessClientWPAStatsPairwiseKeyFailures	Counter32,
	extremeWirelessClientWPAStatsGroupKeySuccesses		Counter32,
	extremeWirelessClientWPAStatsGroupKeyFailures		Counter32,
	extremeWirelessClientWPAStatsPairwiseKey1Sends		Counter32,
	extremeWirelessClientWPAStatsPairwiseKey3Sends		Counter32,
	extremeWirelessClientWPAStatsGroupKeySends			Counter32,
	extremeWirelessClientWPAStatsEAPOLKeyReceivedInPairwise1Key	Counter32,
	extremeWirelessClientWPAStatsEAPOLKeyReceivedInPairwise3Key	Counter32,
	extremeWirelessClientWPAStatsEAPOLKeyReceivedInGroupKey		Counter32,
	extremeWirelessClientWPAStatsDoubleEAPOLKeyReceived		Counter32,
	extremeWirelessClientWPAStatsEAPOLKeyIgnores			Counter32,
	extremeWirelessClientWPAStatsEAPOLKeyErrors			Counter32,
	extremeWirelessClientWPAStatsEAPOLKeyAborts			Counter32,
	extremeWirelessClientWPAStatsEAPOLKeyVerificationSuccesses	Counter32
}
extremeWirelessClientWPAStatsStarts OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of starts of the WPA key exchange process"
	 ::= { extremeWirelessClientWPAStatsEntry 1 }

extremeWirelessClientWPAStatsPairwiseKeySuccesses OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of successes in the pairwise key handshake"
	 ::= { extremeWirelessClientWPAStatsEntry 2 }

extremeWirelessClientWPAStatsPairwiseKeyFailures OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of failures the pairwise key handshake"
	 ::= { extremeWirelessClientWPAStatsEntry 3 }

extremeWirelessClientWPAStatsGroupKeySuccesses OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of successes of the group key exchange"
	 ::= { extremeWirelessClientWPAStatsEntry 4 }

extremeWirelessClientWPAStatsGroupKeyFailures OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of failures of the group key handshake"
	 ::= { extremeWirelessClientWPAStatsEntry 5 }

extremeWirelessClientWPAStatsPairwiseKey1Sends OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times the first packet of the pairwise key exchange was sent."
	 ::= { extremeWirelessClientWPAStatsEntry 6 }

extremeWirelessClientWPAStatsPairwiseKey3Sends OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times the third packet of the pairwise key exchange was sent."
	 ::= { extremeWirelessClientWPAStatsEntry 7 }

extremeWirelessClientWPAStatsGroupKeySends OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times the group key packet was sent."
	 ::= { extremeWirelessClientWPAStatsEntry 8 }

extremeWirelessClientWPAStatsEAPOLKeyReceivedInPairwise1Key OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times an EAPOL Key packet was recieved after
	sending the 1st pairwise key exchange packet"
	 ::= { extremeWirelessClientWPAStatsEntry 9 }

extremeWirelessClientWPAStatsEAPOLKeyReceivedInPairwise3Key OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times an EAPOL Key packet was recieved after
	sending the 3rd pairwise key exchange packet"
	 ::= { extremeWirelessClientWPAStatsEntry 10 }

extremeWirelessClientWPAStatsEAPOLKeyReceivedInGroupKey OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times an EAPOL Key packet was recieved after
	sending the group key packet"
	 ::= { extremeWirelessClientWPAStatsEntry 11 }

extremeWirelessClientWPAStatsDoubleEAPOLKeyReceived OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times an EAPOL Key packet was recieved when already
	processing a previous key packet."
	 ::= { extremeWirelessClientWPAStatsEntry 12 }

extremeWirelessClientWPAStatsEAPOLKeyIgnores OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times an EAPOL Key packet was ignored."
	 ::= { extremeWirelessClientWPAStatsEntry 13 }

extremeWirelessClientWPAStatsEAPOLKeyErrors OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times an EAPOL Key packet was errored."
	 ::= { extremeWirelessClientWPAStatsEntry 14 }

extremeWirelessClientWPAStatsEAPOLKeyAborts OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times an EAPOL Key packet caused the WPA state machine to abort."
	 ::= { extremeWirelessClientWPAStatsEntry 15 }

extremeWirelessClientWPAStatsEAPOLKeyVerificationSuccesses OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	"Number of times an EAPOL Key packet was verified correctly."
	 ::= { extremeWirelessClientWPAStatsEntry 16 }

END

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

-- ======================================================================
--	CHANGE LOG
--	6/5/97 - jscano
--	1. Added Revision 1-0-1 to MIB for tracking purposes
--	2. Combined the encaps.mib into the original vlan.mib
--	3. Updated preamble comments to accomodate both vlan and encaps xfaces
--	   and added general clarifying comments to MIB.
--
--	10/20/96 - jscano
--	1.	Added vlanSesionLayer type to vlan interface.
--	2.	Added vlanNetBeui type to vlan interface.

--	6/5/97 - Paola Biti
--      	1.	No change Official MIB implemented on Switch 9000
--	6/9/97 - Paola Biti
--      	1. Received new MIB from John Scano.  New Official MIB for Switch 9000

-- ======================================================================
--
--	Interpretation of the Interface Table for VLAN and encapsulation
--	interfaces:
-- 
--	OBJECT	VALUE/USE
--
--	ifIndex	Same interpretation as RFC1573.  A unique value,
--			greater than zero for each VLAN/Encapsulation interface.
--
--	ifDescr	Same interpretation as RFC1573.  A textual string
--			containing information about the interface.  This
--			string should include the name of the manufacturer,
--			the product name, the version of the software, and that
--			the entry is a vlan or encapsulation interface.
--
--			Example: "3COM LANPlex 2500, version 8.1, VLAN"
--			Example: "3COM LANPlex 2500, version 8.1, ENCAPS"
--
--	ifType	propVirtual(53)
--
--	ifMtu		Equivalent to the least common denominator MTU of the
--			set of ports associated with the VLAN or ENCAPS interface.
--			For example, if the VLAN contains one ethernet port, then
--			the value of this object is 1518.  If the VLAN contains
--			all FDDI ports, the value of this object is 4500.  If
--			a vlan contains a mix of ethernet and FDDI ports, the
--			value of this object is 1518.  If there are no ports associated
--			with the interface, then the ifMtu is zero.
--
--	ifSpeed		The value of this object is zero, as defined by RFC1573
--			for sub-layers that have no concept of bandwidth.             
--
--	ifPhysAddress	The value of this object is always equal to a null octet
--			string.
--
--	ifAdminStatus	Always equal to up(1).  SetRequest-PDUs fail.
--
--	ifOperStatus	The value of this object is equal to up(1) if the
--			ifOperStatus of at least one port in in the set of ports
--			stacked below the VLAN layer is up(1).  The value of this 
--			object is down(2) if the ifOperStatus of all ports stacked
--			below the vlan layer is down(2).  The value of this
--			object is down(2) if there are no ports stacked below the
--	   		the vlan sublayer.
--
--	ifLastChange 	Same interpretation as RFC1573.  The value of sysUpTime
--		 	at the time the interface entered its current operational
--			state.  If the current state was entered prior to the 
--			last re-initialization of the local network management
--			subsystem, then this object contains a zero value.
--	 
--	ifInOctets	These objects  return NO_SUCH_NAME on reads and writes. 
--	ifInUcastPkts  	This approach is more desireable than returning zero
--	ifInNUcastPkt	on reads because NMS's cannot differentiate between
--	ifInDiscards	returning a zero for non-support vs returning a real
--	ifInErrors	zero value for the counter.  Inability to distinguish
--	ifInUnknownProtos between these two cases would essentially prevent
--	ifOutOctets	future implementation of these objects, therefore
--	ifOutUcastPkts	NO_SUCH_NAME is returned to indicate no-support.
--	ifOutNUcastPkts	Future implementations may choose to return real values
--	ifOutDiscards	for these counters.
--	ifOutDiscards				"
--	ifOutErrors				"
--	ifLinkUpDownTrapEnable			"
--	ifConnectorPresent			"
--	ifHighSpeed				"
--	ifName					"
--
--	ifOutQLen	Deprecated in RFC1573.  Set to zero if present.
--	ifSpecific	Deprecated in RFC1573.  Set to {0.0} if present. 
--
--	linkUp TRAP	Not supported for the vlan/encaps sublayers
--	linkDown TRAP	Not supported for the vlan/encaps sublayer
--
-- ======================================================================


	GENERIC-3COM-VLAN-MIB-1-0-1 DEFINITIONS ::= BEGIN

	IMPORTS
		enterprises, IpAddress	FROM RFC1155-SMI
--		RowStatus               FROM SNMPv2-TC
		DisplayString           FROM RFC1213-MIB
		OBJECT-TYPE             FROM RFC-1212
                TruthValue              FROM SNMPv2-TC;

        -- RowStatus as defined in SNMPv2
        -- Refer to rfc1443.txt for concise definition

        RowStatus   ::=       INTEGER ( 1..6 )

                               -- the following two values are states:
                               -- these values may be read or written
                               --active(1),
                               --notInService(2),

                               -- the following value is a state:
                               -- this value may be read, but not written
                               --notReady(3),

                               -- the following three values are
                               -- actions: these values may be written,
                               --   but are never read
                               --createAndGo(4),
                               --createAndWait(5),
                               --destroy(6)


	a3Com		OBJECT IDENTIFIER ::= { enterprises 43 }
	generic 	OBJECT IDENTIFIER ::= { a3Com 10 }
	genExperimental OBJECT IDENTIFIER ::= { generic 1 }
	genVirtual 	OBJECT IDENTIFIER ::= { genExperimental 14 }

	--
	-- Structure of MIB
	--
	-- The objects are arranged into the following groups:
	--
	-- 3Com Generic VLAN MIB Groups 
	--
	a3ComVlanGroup		OBJECT IDENTIFIER ::= { genVirtual 1 }
	a3ComVlanProtocolsGroup	OBJECT IDENTIFIER ::= { genVirtual 2 }
	a3ComVirtualGroup	OBJECT IDENTIFIER ::= { genVirtual 3 }
	a3ComEncapsulationGroup	OBJECT IDENTIFIER ::= { genVirtual 4 }

	--	
	--
	-- 3COM Vlan Type Textual Convention
	--
	--	vlanLayer2(1) = The globally identified VLAN interface is protocol
	--		independent and based on port grouping.  The configuration of
	--		port grouping is controlled through the ifStackTable.
	--
	--	vlanDefaultProtocols(2)	= The globally identified VLAN interface is
	--		known as Explicit Default Protocols.  The forwarding behavior
	--		of this type of VLAN interface is defined as follows: 
	--
	--		On devices that support layer 3 VLAN interfaces, there is an
	--		Implicit Default Protocols VLAN interface defined (See
	--		diagram 1 below).  The flooding behavior of the Implicit
	--		Default Protocols VLAN interface is to forward all 
	--		broadcast/multicast/unknown DA frames to all non-source
	--		ports.
	--
	--		DIAGRAM 1: Implicit Default Protocols VLAN Interface
	--
	--		+===============================================+
	--		|           Implicit Default VLAN               |
	--		+===============================================+
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		|  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8	| <=== Ports
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		  ^				  
	--		  |				  
	--		Any protocol frame sourced on port 1 is flooded to ports 2-8		 
	--
	--		To change the above flooding behavior, an NMS can configure
	--		an Explicit Default Protocols for a single port or
	--		a group of ports by using vlanDefaultProtocols(2) (See
	--		Diagram 2).
	--
	--		DIAGRAM 2: Explicit Default Protocols VLAN Interface
	--
	--		  +=== Explicit Default Protocols VLAN
	--		  |
	--		  V	
	--		+===============================================+
	--		|     |  	Implicit Default VLAN           |
	--		+===============================================+
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		|  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8	| <=== Ports
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		  ^				  
	--		  |				  
	--		Any protocol frame sourced on port 1 is now dropped
	--
	--		When a protocol sensitive vlan is configured, the explicit
	--		default protocol can be used to control the flooding of all  
	--		other protocols.  For example (Diagram 3 and 4)
	--
	--		DIAGRAM 3: IP VLAN Interface
	--
	--		+=================+
	--		|   IP VLAN	  |
	--		+=================+=============================+
	--		| 	Implicit Default VLAN                   |
	--		+===============================================+
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		|  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8	| <=== Ports
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		  ^				  
	--		  |				  
	--		Any non-IP broadcast/multicast/unknown DA frame sourced on
	--		port 1 is flooded to ports 2-8.  An IP broadcast/multicast or
	--		unknown DA sourced on port 1, is flooded to ports 2-3.		 
	--	
	--		To drop all non-IP broadcast/multicast/unknown DA frames at the
	--		source port, the following Explicit Default VLANs should be 
	--		configured:
	--
	--		DIAGRAM 4: IP VLAN Interface with Explicit Default VLANs A, B, C
	--
	--		+=================+
	--		|     IP VLAN     |
	--		+=================+=============================+
	--		|  A  |  B  |  C  | Implicit Default VLAN       |
	--		+===============================================+
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		|  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  | <=== Ports
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		  ^      ^     ^				  
	--		  |   	 |     |				  
	--		Any non-IP broadcast/multicast/unknown DA frame sourced on
	--		either ports 1, 2, or 3, is dropped at the port and is not
	--		flooded.
	--
	--	vlanIPProtocol(3)
	--	vlanIPXProtocol(4)
	--	vlanAppleTalkProtocol(5)
	--	vlanXNSProtocol(6)
	--	vlanISOProtocol(7)
	--	vlanDECNetProtocol(8)
	--	vlanNetBIOSProtocol(9)
	--	vlanSNAProtocol(10),
	--	vlanVINESProtocol(11)
	--	vlanX25Protocol(12)
	--	vlanIGMPProtocol(13)  = The globally identified VLAN interface is OSI
	--		layer three sensitive.  Flooding domains are configurable by port
	--		and by protocol in the above set of protocols.
	--
	--	vlanSessionLayer(14)
	--	vlanNetNeui(15)"

	A3ComVlanType ::= INTEGER {
		vlanLayer2(1),
		vlanDefaultProtocols(2),
		vlanIPProtocol(3),
		vlanIPXProtocol(4),
		vlanAppleTalkProtocol(5),
		vlanXNSProtocol(6),
		vlanISOProtocol(7),
		vlanDECNetProtocol(8),
		vlanNetBIOSProtocol(9),
		vlanSNAProtocol(10),
		vlanVINESProtocol(11),
		vlanX25Protocol(12),
		vlanIGMPProtocol(13),
		vlanSessionLayer(14),
		vlanNetBeui(15)
	}

	--
	-- All groups in this MIB are optional.  Support for a 
	-- particular group is dependent upon the capabilities
	-- of the network device.
	--
	-- The VLAN Group
	--
	--	The VLAN mapping group contains objects for
	--	identifying VLANs within a device, and for mapping
	--	these VLANs to a global identifier.  It consists of the
	--	a3ComVlanGlobalMappingTable and the a3ComVlanIfTable.
	--
	-- The VLAN Protocols Group
	--
	--	The VLAN Protocols group contains protocol parameters for
	--	VLAN interfaces based on protocols above layer 2 in the OSI
	--	reference module.  It consists of the a3ComIpVlanTable.
	--	In the future, other protocol groups will be defined as
	--	capabilities are added.
	--
	-- The Virtual Group
	--
	--	The virtual group contains the a3ComNextVirtIfIndex object.
	--	In the future, other groups and object will be added as
	--	capabilities are added.
	--
	-- The Encapsulation Group
	--
	--	The Encapsulation Group contains objects for identifying
	--	and configuring encapsulation entries within a device.
	--	It consists of the a3ComVlanEncapsIfTable.
	--
	--
	-- The 3COM VLAN Global Mapping Table
	--
	-- This table is implemented by all 3Com network devices that  
	-- support interfaces to globally identified VLANs.
	--

    a3ComVlanGlobalMappingTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF A3ComVlanGlobalMappingEntry
		ACCESS  not-accessible
		STATUS  mandatory
		DESCRIPTION
			"This table lists VLAN interfaces that are globally
			identified.  A single entry exists in this list for each
			VLAN interface in the system that is bound to a global
			identifier."
		::= { a3ComVlanGroup 1 }

	a3ComVlanGlobalMappingEntry OBJECT-TYPE
		SYNTAX  A3ComVlanGlobalMappingEntry
		ACCESS  not-accessible
		STATUS  mandatory
		DESCRIPTION
			"An individual VLAN interface global mapping entry.
			Entries in this table are created by setting the
			a3ComVlanIfGlobalIdentifier object in the
			a3ComVlanIfTable to a non-zero value."
		INDEX { a3ComVlanGlobalMappingIdentifier }
		::= { a3ComVlanGlobalMappingTable 1 }

	A3ComVlanGlobalMappingEntry ::=
		SEQUENCE {
			a3ComVlanGlobalMappingIdentifier
				INTEGER (0..65535),
			a3ComVlanGlobalMappingIfIndex
				INTEGER
		}

    a3ComVlanGlobalMappingIdentifier OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS	read-only
        STATUS  mandatory
        DESCRIPTION
            		"An index into the a3ComVlanGlobalMappingTable and an
			administratively assigned global VLAN identifier.  The
			value of this object globally identifies the VLAN interface.
			For VLAN interfaces, on different network devices, which are
			part of the same globally identified VLAN, the value of this
			object will be the same."
        ::= { a3ComVlanGlobalMappingEntry 1 }

	a3ComVlanGlobalMappingIfIndex OBJECT-TYPE
		SYNTAX  INTEGER
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"The value of a3ComVlanIfIndex for the VLAN interface in the
			a3ComVlanIfTable, which is bound to the global identifier
			specified by this entry."
		::= { a3ComVlanGlobalMappingEntry 2 }

	--
	-- The 3COM VLAN Interface Table
	--
	-- This table is implemented by all 3Com network devices that  
	-- support VLAN interfaces.
	--

    a3ComVlanIfTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF A3ComVlanIfEntry
		ACCESS  not-accessible
		STATUS  mandatory
		DESCRIPTION
			"This table lists VLAN interfaces that exist within
			a device.  A single entry exists in this list for each
			VLAN interface in the system.  A VLAN interface may
			be created, destroyed and/or mapped to a globally 
			identified vlan."
		::= { a3ComVlanGroup 2 }

	a3ComVlanIfEntry OBJECT-TYPE
		SYNTAX  A3ComVlanIfEntry
		ACCESS  not-accessible
		STATUS  mandatory
		DESCRIPTION
			"An individual VLAN interface entry.  When an NMS wishes
			to create a new entry in this table, it must obtain a 
			non-zero index from the a3ComNextAvailableVirtIfIndex
			object.  Row creation in this table will fail if the
			chosen index value does not match the current value 
			returned from the a3ComNextAvailableVirtIfIndex object."
		INDEX { a3ComVlanIfIndex }
		::= { a3ComVlanIfTable 1 }

	A3ComVlanIfEntry ::=
		SEQUENCE {
			a3ComVlanIfIndex
				INTEGER,
			a3ComVlanIfDescr
				DisplayString,
			a3ComVlanIfType
				A3ComVlanType,
			a3ComVlanIfGlobalIdentifier
				INTEGER,
			a3ComVlanIfInfo
				OCTET STRING,
			a3ComVlanIfStatus
				RowStatus,
			a3ComVlanIfIgnoreStpFlag
				TruthValue
		}

    a3ComVlanIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS 	read-write
        STATUS  mandatory
        DESCRIPTION
            		"The index value of this row and the vlan's ifIndex in the
	     		ifTable.  The NMS obtains the index value for this row by
			reading the a3ComNextAvailableVirtIfIndex object."
        ::= { a3ComVlanIfEntry 1 }

	a3ComVlanIfDescr OBJECT-TYPE
		SYNTAX	DisplayString (SIZE(0..80))
		ACCESS	read-write
		STATUS	mandatory
		DESCRIPTION
			"This is a description of the VLAN interface."
		::= {a3ComVlanIfEntry 2}

    a3ComVlanIfType OBJECT-TYPE
        SYNTAX 	A3ComVlanType
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
			"The VLAN interface type."
        ::= { a3ComVlanIfEntry 3 }

    a3ComVlanIfGlobalIdentifier OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS	read-write 
        STATUS  mandatory
        DESCRIPTION
			"An administratively assigned global VLAN identifier.  For
			VLAN interfaces, on different network devices, which are
			part of the same globally identified VLAN, the value of this
			object will be the same.  

			The binding between a global identifier and a VLAN 
			interface can be created or removed.  To create a binding
			an NMS must write a non-zero value to this object.  To
			delete a binding, the NMS must write a zero to this
			object."
		::= { a3ComVlanIfEntry 4 }

	a3ComVlanIfInfo OBJECT-TYPE
		SYNTAX	OCTET STRING
		ACCESS	read-only
		STATUS	mandatory
		DESCRIPTION
			"A TLV encoded information string for the VLAN interface.
			 The information contained within this string corresponds
			 to VLAN information not contained within this table, but
			 contained elsewhere within this MIB module.  The purpose
			 of this string is to provide an NMS with a quick read 
			 mechanism of all related VLAN interface information.
			
			 The encoding rules are defined according to:

				tag	=	2 bytes
				length	=	2 bytes
				value	=	n bytes

			The following tags are defined:

			TAG		OBJECT			DESCRIPTION
			1		a3ComIpVlanIpNetAddress	IP Network Address of IP VLAN 	
			2		a3ComIpVlanIpNetMask	IP Network Mask of IP VLAN"
		::= { a3ComVlanIfEntry 5 }

    a3ComVlanIfStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "The status column for this VLAN interface. 
	    This OBJECT can be set to:

            		active(1)
			createAndGo(4)
            		createAndWait(5)
            		destroy(6)

            The following values may be read:
            		active(1)
			notInService(2)
           		notReady(3).
			
			Setting this object to createAndGo(4) causes the agent
			to attempt to create and commit the row based on 
			the contents of the objects in the row.  If all necessary
			information is present in the row and the values are
			acceptible to the agent, the agent will change the 
			status to active(1).  If any of the necessary objects  
			are not available, the agent will reject the creation
			request.	

			Setting this object to createAndWait(5) causes a row
			in this table to be created.  The agent sets the
			status to notInService(2) if all of the information is
			present in the row and the values are acceptable to the
			agent; otherwise, the agent sets the status to
			notReady(3).

			Setting this object to active(1) is only valid when
			the current status is active(1) or notInService(2).  

			When the state of the row transitions is set to active(1),
			the agent creates the corresponding row in the ifTable..

			Setting this object to destroy(6) will remove the corresponding
			VLAN interface, remove the entry in this table, and the
			corresponding entries in the a3ComVlanGlobalMappingTable
			and the ifTable.

			In order for a set of this object to destroy(6) to succeed,
			all dependencies on this row must have been removed.  These
			will include any stacking dependencies in the ifStackTable and
			any protocol specific tables dependencies."
        ::= { a3ComVlanIfEntry 6 }

        a3ComVlanIfIgnoreStpFlag OBJECT-TYPE
     		SYNTAX		TruthValue
                ACCESS	        read-write
                STATUS		mandatory
                DESCRIPTION
            	"Enable/disable STP for this VLAN interface. Setting this
			object to true will cause the ports on this VLAN to ignore
			STP BPDUs. When a vlan is first created, the Default value 
			is FALSE, which means that the VLAN uses STP port information"
        ::= { a3ComVlanIfEntry 7 }


	--
    	--  The IP VLAN Interface Information Table
	--
	--	The IP VLAN Interface Information table is supported by 
	--	network devices that support IP VLAN interfaces. 
	--
	--	A row must be created in this table for each IP
	--	VLAN interface that shares 1 or more ports with
	--	another IP VLAN interface.   Entries in this table
	--	must be created before the entries in the ifStack
	-- 	Table, which cause the overlap.  The index used is the
	--	same index as that used to create the IP VLAN interface
	--	in the a3ComVlanIfTable.  The NMS must remove entries 
	--	in this table, prior to removing the corresponding entry
	--	in the a3ComVlanIfTable.
	--
	--	The information in this table is used to convey additional 
	--  	layer 3 information necessary to support overlapping
	--	IP VLAN Interfaces.  If an NMS does not wish to 
	--  	configure overlapping IP VLAN interfaces, then
	--	the information in this table is not needed.
	--
	--	Below is an example of a non-overlapping IP VLAN
	--  	interface: 
	--
	--		+=======================+
	--		|     IP VLAN 1         |
	--		+=======================+
	--		                        +=======================+
	--		                        |      IP VLAN 2        |
	--		                        +=======================+
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		|  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  | <=== Ports
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--	Non-Overlapping IP VLAN Interfaces
	--
	--	Below is an example of an overlapping IP VLAN 
	--	interface.  The IP VLAN Interface Information table 
	-- 	must be setup before this configuration is supported.  
	--	The agent will fail sets to the ifStack table that
	--	produce overlapping IP VLAN interfaces if the
	--	VLAN interfaces do not have completed entries in 
	--	the IP VLAN Interface Information table.
	-- 
	--		+=============================+
	--		|	   IP VLAN 1          |
	--		+=============================+
	--		                  +=============================+
	--		                  |           IP VLAN 2         |
	--		                  +=============================+
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		|  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  | <=== Ports
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--	Overlapping IP VLAN Interfaces
	--	

	a3ComIpVlanTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF A3ComIpVlanEntry
		ACCESS  not-accessible
		STATUS  mandatory
		DESCRIPTION
			"A list of IP VLAN interface information
			entries.  Entries in this table are related
			to entries in the a3ComVlanIfTable by using the
			same index."
		::= { a3ComVlanProtocolsGroup 1 }

	a3ComIpVlanEntry OBJECT-TYPE
		SYNTAX  A3ComIpVlanEntry
		ACCESS  not-accessible
		STATUS  mandatory
		DESCRIPTION
			"A a3ComIpVlanEntry contains layer 3
			information about a particular IP VLAN
			interface.  Note entries in this table
			cannot be deleted until the entries in
			the ifStackTable that produce overlap
			are removed."
		INDEX	{ a3ComVlanIfIndex }
		::= { a3ComIpVlanTable 1 }

	A3ComIpVlanEntry ::=
		SEQUENCE {
			a3ComIpVlanIpNetAddress
				IpAddress,
			a3ComIpVlanIpNetMask
				IpAddress,
			a3ComIpVlanStatus
				RowStatus	
		}

	a3ComIpVlanIpNetAddress OBJECT-TYPE
		SYNTAX  IpAddress 
		ACCESS  read-write
		STATUS  mandatory
		DESCRIPTION
			"The IP network number for the IP VLAN interface defined
			in the a3ComVlanIfTable identified with the same index.
			The IpNetAdress and the IpNetMask must be set and the
			the row creation process completed by a NMS before
			overlapping rows in the ifStackTable can be created.
			Sets to the ifStackTable that produce overlapping
			IP VLAN interfaces will fail if this object is not
			set."
		::= { a3ComIpVlanEntry 1 }

	a3ComIpVlanIpNetMask OBJECT-TYPE
		SYNTAX  IpAddress 
		ACCESS  read-write
		STATUS  mandatory
		DESCRIPTION
			"The IP network mask corresponding to the IP Network
			address defined by a3ComIpVlanIpNetAddress.  The
			IpNetAdress and the IpNetMask must be set and the
			row creation process completed by a NMS before 
			overlapping rows in the ifStackTable can be created.
			Sets to the ifStackTable that produce overlapping
			IP VLAN interfaces will fail if this object is not
			set."
		::= { a3ComIpVlanEntry 2 }

	a3ComIpVlanStatus OBJECT-TYPE
		SYNTAX  RowStatus
		ACCESS  read-write
		STATUS  mandatory
		DESCRIPTION
			"The status column for this IP VLAN entry.
			This object can be set to:

            		active(1)
			createAndGo(4)
            		createAndWait(5)
            		destroy(6)

            		The following values may be read:

            		active(1)
			notInService(2)
           		notReady(3).	

			Setting this object to createAndGo(4) causes the agent
			to attempt to create and commit the row based on 
			the contents of the objects in the row.  If all necessary
			information is present in the row and the values are
			acceptible to the agent, the agent will change the 
			status to active(1).  If any of the necessary objects  
			are not available, the agent will reject the row 
			creation request.

			Setting this object to createAndWait(5) causes a row in
			in this table to be created.  The agent sets the
			status to notInService(2) if all of the information is
			present in the row and the values are acceptible to the
			agent; otherwise, the agent sets the status to
			notReady(3).

			Setting this object to active(1) is only valid when
			the current status is active(1) or notInService(2).

			When the status changes to active(1), the agent applies the
			IP parmeters to the IP VLAN interface identified by the
			corresponding value of the a3ComIpVlanIndex object.

			Setting this object to destroy(6) will remove the IP
			parmeters from the IP VLAN interface and remove the
			entry from this table.

			Setting this object to destroy(6) will remove the layer 3
			information from the IP VLAN interface and will remove the
			row from this table.  Note that this action cannot be
			performed if there are ifStackTable entries that result in
			overlapping IP VLAN interfaces.  Note that these
			dependencies must be removed first."
		::= { a3ComIpVlanEntry 3 }

	-- The 3Com VLAN Encapsulation Interface Table
	--
	-- VLAN Encapsulation refers to the ability to multiplex
	-- several VLANs over a single network segment by explicitly
	-- labeling eack packet with a tag that identifies the packet's
	-- VLAN membership.
	--
	-- There exist at least 2 tagging algorithms: a 3Com proprietary tagging 
	-- scheme developped by PDD ("VLT tagging"), a standard tagging scheme
	-- under development in IEEE ("802.1q tagging").  Within a given device
	-- (i.e., within a givin agents purview), both tagging schemes may be
	-- in use simultaneously, possibly for different segments associated 
	-- with the same VLAN.  Even when only a single tagging scheme is in use, a
	-- a single VLAN may be represented with different tags when traffic is 
	-- transmitted/received through different (tagging) ports.  Some ports
	-- support tagging, some don't.  For ports that support tagging, they may 
	-- sometimes operate in tagging mode, sometime not in tagging mode.  
	-- (Conceivably, one could also have ports that handle a mixture of tagged 
	-- and untagged traffic.)
	--
	-- The encapsulation interface will be creatable by the NMS using a table
	-- similar to the a3ComVlanIfTable.  This table will allow the NMS to define 
	-- certain attributes of the encapsulation including an encapsulation 
	-- algorithm and a tag value.  Using the ifStack table, an encapsulation
	-- interface may be stacked underneath a VLAN interface and on top of port(s).
	-- 
	-- Example ifTable Stacking:
	--
	--		+=======================+=======================+
	--		|     VLAN Xface 9      |       VLAN Xface 11   |
	--		+=======================+=======================+
	--		+=======================+
	--		|      ENCAPS Xface 10  |
	--		+=======================+
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--		|  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |<=== Ports
	--		+=====+=====+=====+=====+=====+=====+=====+=====+
	--
	-- ifStackTable Instances:
	--		ifStackHigher	ifStackLower
	--                   0               9
	--                   0               11
	--                   1               0
	--                   2               0
	--                   3               0
	--                   4               0
	--                   9               10
	--                  10               1
	--                  10               2
	--                  10               3
	--                  10               4
	--                  11               5
	--                  11               6
	--                  11               7
	--                  11               8
	--
	-- A stack that contains a VLAN, encapsulation and a port interface, specifies:
	--
	-- * For packets received through the given port that use the given encapsulation
	--   scheme and contain the given tag, those packets are members of the given VLAN.
	--
	-- * For unencapsulated packets from the given VLAN that are to be transmitted out
	--   the given port, those packets must first be encapsulated using the given
	--   encapsulation algorithm and tag.
	-- 
	-- This table is implemented by all 3Com network devices that  
	-- support the encapsulation of multiple VLANs over a single interface.
	--

	A3ComVlanEncapsType ::= INTEGER { 
		vlanEncaps3ComProprietaryPDD(1),
		vlanEncaps8021q(2),
		vlanEncapsPre8021qONcore(3)
	}


	a3ComVlanEncapsIfTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF A3ComVlanEncapsIfEntry
		ACCESS  not-accessible
		STATUS  mandatory
		DESCRIPTION
			"This table lists VLAN encapsulation interfaces that
			exist within a device.  A single entry exists in this
			list for each VLAN encapsulation interface in the
			system.  A VLAN encapsulation interface may be created
			or destroyed."
		::= { a3ComEncapsulationGroup 1 }

	a3ComVlanEncapsIfEntry OBJECT-TYPE
		SYNTAX  A3ComVlanEncapsIfEntry
		ACCESS  not-accessible
		STATUS  mandatory
		DESCRIPTION
			"An individual VLAN encapsulation interface entry. 
			When an NMS wishes to create a new entry in this table,
			it must obtain a non-zero index from the
			a3ComNextAvailableVirtIfIndex object.  Row creation in
			this table will fail if the chosen index value does
			not match the current value returned from the
			a3ComNextAvailableVirtIfIndex object."
		INDEX { a3ComVlanEncapsIfIndex }
		::= { a3ComVlanEncapsIfTable 1 }

	A3ComVlanEncapsIfEntry ::=
		SEQUENCE {
			a3ComVlanEncapsIfIndex
				INTEGER,
			a3ComVlanEncapsIfType
				A3ComVlanEncapsType,
			a3ComVlanEncapsIfTag
				INTEGER,
			a3ComVlanEncapsIfStatus
				RowStatus
		}

	a3ComVlanEncapsIfIndex OBJECT-TYPE
		SYNTAX  INTEGER
		ACCESS 	read-write
		STATUS  mandatory
		DESCRIPTION
			"The index value of this row and the encapsulation
			interface's ifIndex in the ifTable.  The NMS obtains
			the index value used for creating a row in this table
			by reading the a3ComNextAvailableVirtIfIndex object."
        ::= { a3ComVlanEncapsIfEntry 1 }

	a3ComVlanEncapsIfType OBJECT-TYPE
		SYNTAX	A3ComVlanEncapsType
		ACCESS	read-write
		STATUS	mandatory
		DESCRIPTION
			"The encapsulation algorithm used when encapsulating
			packets transmitted, or de-encapsulating packets
			received through this interface."
	::= {a3ComVlanEncapsIfEntry 2}

	a3ComVlanEncapsIfTag OBJECT-TYPE
		SYNTAX 	INTEGER
		ACCESS  read-write
		STATUS  mandatory
		DESCRIPTION
			"The tag used when encapsulating packets transmitted,
			or de-encapsulating packets received through this
			interface."
        ::= { a3ComVlanEncapsIfEntry 3 }

	a3ComVlanEncapsIfStatus OBJECT-TYPE
		SYNTAX  RowStatus
		ACCESS  read-write
		STATUS  mandatory
		DESCRIPTION
			"The row status for this VLAN encapsulation interface. 

			 This OBJECT can be set to:

				active(1)
				createAndGo(4)
				createAndWait(5)
				destroy(6)

			The following values may be read:
				active(1)
				notReady(3).
			
			In order for a row to become active, the NMS must set
			a3ComVlanEncapsIfTagType and a3ComVlanEncapsIfTag to
			some valid and consistent values.  

			Setting this object to createAndGo(4) causes the agent
			to attempt to create and commit the row based on the
			contents of the objects in the row. If all necessary
			information is present in the row, the agent will
			create the row and change the status to active(1).  If
			any of the necessary objects are not available, or
			specify an invalid configuration, the row will not be
			created and the agent will return an appropriate error.

			Setting this object to createAndWait(5) causes a row in
			in this table to be created.  If all necessary objects
			in the row have been assigned values and specify a valid
			configuration, the status of the row will be set to
			notInService(2); otherwise, the status will be set to
			notReady(3).  

			This object may only be set to createAndGo(4) or
			createAndWait(5) if it does not exist.

			Setting this object to active(1) when the status is
			notInService(2) causes the agent to commit the
			row.  Setting this object to active(1) when its value
			is already active(1) is a no-op.

			Setting this object to destroy(6) will remove the
			corresponding VLAN encapsulation interface, remove the
			entry in this table, and remove the corresponding entry
			in the ifTable.

			In order for a set of this object to destroy(6) to
			succeed, all dependencies on this row must have been
			removed.  These will include any references to this
			interface in the ifStackTable."
        ::= { a3ComVlanEncapsIfEntry 4 }

	--
	-- The a3ComNextAvailableVirtIfIndex
	--

	a3ComNextAvailableVirtIfIndex OBJECT-TYPE
		SYNTAX	INTEGER
		ACCESS	read-only
		STATUS	mandatory
		DESCRIPTION
			"The value of the next available virtual ifIndex.  This
			 object is used by an NMS to select an index value 
			 for row-creation in tables indexed by ifIndex.  The 
			 current value of this object is changed to a new
			 value when the current value is written to an agent's
			 table, that is indexed by ifIndex.  Row creation
			 using the current value of this object, allocates
			 a virtual ifIndex.  Note the following:
			
			 1. A newly created row does not have to be active(1)
			    for the agent to allocate the virtual ifIndex.

			 2. Race conditions between multiple NMS's end when
			    a row is created.  Rows are deemed created when
			    a setRequest is successfully committed (i.e.
			    the errorStats is noError(0)).

			3.  An agent that exhausts its supply of virual
			    ifIndex values returns zero as the value of this
			    object.  This can be used by an NMS as an indication
			    to deleted unused rows and reboot the device."
		::= { a3ComVirtualGroup 1 }		 
END



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

LOAD-BAL-SYSTEM-MIB DEFINITIONS ::= BEGIN
--================================================================
--  LOAD-BAL-SYSTEM-MIB
--    A private enterprise mib for ip load balancing systems.
--================================================================

IMPORTS
	enterprises, Counter, IpAddress, TimeTicks
		FROM RFC1155-SMI
	OBJECT-TYPE
		FROM RFC-1212
	TRAP-TYPE
		FROM RFC-1215;

-- numerical definitions:
f5		OBJECT IDENTIFIER ::= { enterprises 3375 }
f5systems	OBJECT IDENTIFIER ::= { f5 1 }
loadbal		OBJECT IDENTIFIER ::= { f5systems 1 }

--globals		OBJECT IDENTIFIER ::= { loadbal 1 }
virtualAddress	OBJECT IDENTIFIER ::= { loadbal 2 }
virtualServer	OBJECT IDENTIFIER ::= { loadbal 3 }
snat		OBJECT IDENTIFIER ::= { loadbal 4 }
interface	OBJECT IDENTIFIER ::= { loadbal 5 }
ifaddress	OBJECT IDENTIFIER ::= { loadbal 6 }
pool		OBJECT IDENTIFIER ::= { loadbal 7 }
poolMember	OBJECT IDENTIFIER ::= { loadbal 8 }

-- Old groups
vaddress	OBJECT IDENTIFIER ::= { loadbal 100 }
ndaddr		OBJECT IDENTIFIER ::= { loadbal 101 }
nat		OBJECT IDENTIFIER ::= { loadbal 102 }
vport		OBJECT IDENTIFIER ::= { loadbal 103 }
member		OBJECT IDENTIFIER ::= { loadbal 104 }

loadBalTrap       OBJECT IDENTIFIER ::= { loadbal 110 }
loadBalTraps      OBJECT IDENTIFIER ::= { loadBalTrap 2 }

DisplayString ::= OCTET STRING 

--================================================================
-- Interfaces 
--================================================================

interfaceNumber OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of interfaces on this load balancer."
	::= { interface 1 }

interfaceTable OBJECT-TYPE
	SYNTAX SEQUENCE OF InterfaceEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table containing information about the load balancer intefaces."
	::= { interface 2 }

interfaceEntry OBJECT-TYPE
	SYNTAX InterfaceEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Columns in the Interface Table."
	INDEX { interfaceName }
	::= { interfaceTable 1 }

InterfaceEntry ::=
	SEQUENCE {
		interfaceName			DisplayString (SIZE (0..8)),
		interfaceIpAddresses		DisplayString (SIZE (0..255)),
		interfaceDestination		INTEGER,
		interfaceSource			INTEGER,
		interfaceTimeout		INTEGER,
		interfaceArmed			INTEGER,
		interfaceVLANSEnabled		INTEGER,
		interfaceMasqueradeAddress	DisplayString (SIZE (0..255)),
		interfaceLastTimeChanged	INTEGER,
		interfaceSpeed			INTEGER,
		interfaceFullDuplex		INTEGER
	}

interfaceName OBJECT-TYPE
	SYNTAX 	DisplayString (SIZE (0..8))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of the interface."
	::= { interfaceEntry 1 }

interfaceIpAddresses OBJECT-TYPE
	SYNTAX 	DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The list of IP addresses on this interface."
	::= { interfaceEntry 2 }

interfaceDestination OBJECT-TYPE
	SYNTAX 	INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"This is a destination interface."
	::= { interfaceEntry 3 }

interfaceSource OBJECT-TYPE
	SYNTAX 	INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"This is a source interface."
	::= { interfaceEntry 4 }

interfaceTimeout OBJECT-TYPE
	SYNTAX 	INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The seconds before a failover is triggered in failsafe mode."
	::= { interfaceEntry 5 }

interfaceArmed OBJECT-TYPE
	SYNTAX 	INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The interface will be armed if the interface failsafe mode is activated."
	::= { interfaceEntry 6 }

interfaceVLANSEnabled OBJECT-TYPE
	SYNTAX 	INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is VLANS enabled for this interface."
	::= { interfaceEntry 7 }

interfaceMasqueradeAddress OBJECT-TYPE
	SYNTAX 	DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"MAC masquerade address of this interface."
	::= { interfaceEntry 8 }

interfaceLastTimeChanged OBJECT-TYPE
	SYNTAX 	INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The last time the interface attributes were modified."
	::= { interfaceEntry 9 }

interfaceSpeed OBJECT-TYPE
	SYNTAX 	INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The speed of this interface."
	::= { interfaceEntry 10 }

interfaceFullDuplex OBJECT-TYPE
	SYNTAX 	INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is this interface operating in full duplex mode."
	::= { interfaceEntry 11 }

--================================================================
--  interface ip addresses 
--================================================================

ifaddressNumber OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of interface ip addresses on this load balancer."
	::= { ifaddress 1 }

ifaddressTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IfaddressEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table containing information about the load balancer interface ip addresses."
	::= { ifaddress 2 }

ifaddressEntry OBJECT-TYPE
	SYNTAX IfaddressEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Columns in the Interface Table."
	INDEX { ifaddressIpAddress }
	::= { ifaddressTable 1 }

IfaddressEntry ::=
	SEQUENCE {
		ifaddressIpAddress		IpAddress,
		ifaddressInterfaceName		DisplayString (SIZE (0..255)),
		ifaddressNetmask		IpAddress,
		ifaddressBroadcast		IpAddress,
		ifaddressType			INTEGER,
		ifaddressUnitId			INTEGER,
		ifaddressVLANTag	        DisplayString (SIZE (0..5))
	}

ifaddressIpAddress OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The ip address for this interface ip address."
	::= { ifaddressEntry 1 }

ifaddressInterfaceName OBJECT-TYPE
	SYNTAX 	DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of the interface for this ip address."
	::= { ifaddressEntry 2 }

ifaddressNetmask OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The netmask for this interface ip address."
	::= { ifaddressEntry 3 }

ifaddressBroadcast OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The broadcast address for this interface ip address."
	::= { ifaddressEntry 4 }

ifaddressType OBJECT-TYPE
	SYNTAX INTEGER {
		iptrue(1),
		ipshared(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The type for this interface ip address."
	::= { ifaddressEntry 5 }

ifaddressUnitId OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The unit id for this interface ip address."
	::= { ifaddressEntry 6 }

ifaddressVLANTag OBJECT-TYPE
	SYNTAX 	DisplayString (SIZE (0..5))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The VLAN tag for this interface ip address."
	::= { ifaddressEntry 7 }

--================================================================
--  Pools
--================================================================

poolNumber OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of pools on this load balancer."
	::= { pool 1 }

poolTable OBJECT-TYPE
	SYNTAX SEQUENCE OF PoolEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table containing information about the load balancer pools."
	::= { pool 2 }

poolEntry OBJECT-TYPE
	SYNTAX PoolEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Columns in the Pool Table."
	INDEX { poolName }
	::= { poolTable 1 }

PoolEntry ::=
	SEQUENCE {
		poolName		DisplayString (SIZE (0..255)),
		poolLBMode		INTEGER,
		poolDependent		INTEGER,
		poolMemberQty		INTEGER,
		poolBitsin		Counter,
		poolBitsout		Counter,
		poolBitsinHi32		Counter,
		poolBitsoutHi32		Counter,
		poolPktsin		Counter,
		poolPktsout		Counter,
		poolPktsinHi32		Counter,
		poolPktsoutHi32		Counter,
		poolMaxConn		INTEGER (0..65535),
		poolCurrentConn		INTEGER (0..65535),
		poolTotalConn		Counter
	}

poolName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of this pool."
	::= { poolEntry 1 }

poolLBMode OBJECT-TYPE
	SYNTAX INTEGER {
		roundrobin(1),
		ratio(2),
		fastest(3),
		leastConn(4),
		predictive(5),
		observed(6),
		priority(7),
		ratioNodeAddress(8),
		priorityNodeAddress(9),
		leastConnNodeAddress(10),
		globalDefault(11)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The load balance mode of this pool."
	::= { poolEntry 2 }

poolDependent OBJECT-TYPE
	SYNTAX INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is this pool a dependent pool."
	::= { poolEntry 3 }

poolMemberQty OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of members in this pool."
	::= { poolEntry 4 }

poolBitsin OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this pool."
	::= { poolEntry 5 }

poolBitsout OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this pool."
	::= { poolEntry 6 }

poolBitsinHi32 OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this pool."
	::= { poolEntry 7 }

poolBitsoutHi32 OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this pool."
	::= { poolEntry 8 }

poolPktsin OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this pool."
	::= { poolEntry 9 }

poolPktsout OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this pool."
	::= { poolEntry 10 }

poolPktsinHi32 OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this pool."
	::= { poolEntry 11 }

poolPktsoutHi32 OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this pool."
	::= { poolEntry 12 }

poolMaxConn OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections the members of  
		this pool have had open at any one time."
	::= { poolEntry 13 }

poolCurrentConn OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The current number of connections the members of  
		this pool have open."
	::= { poolEntry 14 }

poolTotalConn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections the members of 
		this pool have served since the pool started."
	::= { poolEntry 15 }

--================================================================
--  Pool Members
--================================================================

poolMemberNumber OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of pool members on this load balancer."
	::= { poolMember 1 }

poolMemberTable OBJECT-TYPE
	SYNTAX SEQUENCE OF PoolMemberEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table containing information about the load balancer pool members."
	::= { poolMember 2 }

poolMemberEntry OBJECT-TYPE
	SYNTAX PoolMemberEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Columns in the Pool Member Table."
	INDEX { poolMemberPoolName, poolMemberIpAddress, poolMemberPort }
	::= { poolMemberTable 1 }

PoolMemberEntry ::=
	SEQUENCE {
		poolMemberPoolName		DisplayString (SIZE (0..255)),
		poolMemberIpAddress		IpAddress,
		poolMemberPort			INTEGER,
		poolMemberMaintenance		INTEGER,
		poolMemberRatio			INTEGER,
		poolMemberPriority		INTEGER,
		poolMemberWeight		INTEGER,
		poolMemberRipeness		INTEGER,
		poolMemberBitsin		Counter,
		poolMemberBitsout		Counter,
		poolMemberBitsinHi32		Counter,
		poolMemberBitsoutHi32		Counter,
		poolMemberPktsin		Counter,
		poolMemberPktsout		Counter,
		poolMemberPktsinHi32		Counter,
		poolMemberPktsoutHi32		Counter,
		poolMemberConnLimit		INTEGER (0..65535),
		poolMemberMaxConn		INTEGER (0..65535),
		poolMemberCurrentConn		INTEGER (0..65535),
		poolMemberTotalConn		Counter
	}

poolMemberPoolName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of the pool which contains this member."
	::= { poolMemberEntry 1 }

poolMemberIpAddress OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The ip address of this pool member."
	::= { poolMemberEntry 2 }

poolMemberPort OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The port of this pool member."
	::= { poolMemberEntry 3 }

poolMemberMaintenance OBJECT-TYPE
	SYNTAX INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is this pool member in maintenance mode."
	::= { poolMemberEntry 4 }

poolMemberRatio OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Load balancing ratio of the member within the pool. 
		Used by member ratio load balancing mode."
	::= { poolMemberEntry 5 }

poolMemberPriority OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Priority level of the member within the pool.
		Used by priority member load balancing mode."
	::= { poolMemberEntry 6 }

poolMemberWeight OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Weight of the member within the pool.
		Used during dynamically calculated ratio 
		load balancing."
	::= { poolMemberEntry 7 }

poolMemberRipeness OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The current load balancing state in member
		ratio load balancing mode."
	::= { poolMemberEntry 8 }

poolMemberBitsin OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this pool member."
	::= { poolMemberEntry 9 }

poolMemberBitsout OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this pool member."
	::= { poolMemberEntry 10 }

poolMemberBitsinHi32 OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this pool member."
	::= { poolMemberEntry 11 }

poolMemberBitsoutHi32 OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this pool member."
	::= { poolMemberEntry 12 }

poolMemberPktsin OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this pool member."
	::= { poolMemberEntry 13 }

poolMemberPktsout OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this pool member."
	::= { poolMemberEntry 14 }

poolMemberPktsinHi32 OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this pool member."
	::= { poolMemberEntry 15 }

poolMemberPktsoutHi32 OBJECT-TYPE
	SYNTAX 	Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this pool member."
	::= { poolMemberEntry 16 }

poolMemberConnLimit OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections this pool
		member can have open at any one time."
	::= { poolMemberEntry 17 }

poolMemberMaxConn OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections this pool
		member has had open at any one time."
	::= { poolMemberEntry 18 }

poolMemberCurrentConn OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The current number of connections this pool
		member has open."
	::= { poolMemberEntry 19 }

poolMemberTotalConn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this pool
		 member have served since the pool member started."
	::= { poolMemberEntry 20 }


--================================================================
-- Virtual Addresses
--================================================================

virtualAddressNumber OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of virtual addresses on this load balancer."
	::= { virtualAddress 1 }

virtualAddressTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VirtualAddressEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table containing information about the load balancer
		Virtual Server addresses."
	::= { virtualAddress 2 }

virtualAddressEntry OBJECT-TYPE
	SYNTAX VirtualAddressEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Columns in the Virtual Address Table."
	INDEX { virtualAddressIpAddress }
	::= { virtualAddressTable 1 }

VirtualAddressEntry ::=
	SEQUENCE {
		virtualAddressIpAddress		IpAddress,
		virtualAddressStatus		INTEGER,
		virtualAddressConnLimit		INTEGER (0..65535),
		virtualAddressNetmask		IpAddress,
		virtualAddressBroadcast		IpAddress,
		virtualAddressInterface		DisplayString (SIZE (0..8)),
		virtualAddressFailoverFlags	INTEGER,
		virtualAddressOctetsIn		Counter,
		virtualAddressOctetsOut		Counter,
		virtualAddressPacketsIn		Counter,
		virtualAddressPacketsOut	Counter,
		virtualAddressCurrentConn	INTEGER (0..65535),
		virtualAddressMaxConn		INTEGER (0..65535),
		virtualAddressTotalConn		Counter,
		virtualAddressOctetsInHi32	Counter,
		virtualAddressOctetsOutHi32	Counter,
		virtualAddressPacketsInHi32	Counter,
		virtualAddressPacketsOutHi32	Counter,
		virtualAddressUnitId		INTEGER
	}

virtualAddressIpAddress OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The ip address for this virtual server."
	::= { virtualAddressEntry 1 }

virtualAddressStatus OBJECT-TYPE
	SYNTAX INTEGER {
		ready(1),
		maintainance(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is this server in maintainance mode?"
	::= { virtualAddressEntry 2 }

virtualAddressConnLimit OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this virtual address
		can support at one time."
	::= { virtualAddressEntry 3 }

virtualAddressNetmask OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The netmask for this virtual address."
	::= { virtualAddressEntry 4 }

virtualAddressBroadcast OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The broadcast address for this virtual address."
	::= { virtualAddressEntry 5 }

virtualAddressInterface OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..8))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of the network interface that this address
		is attached to."
	::= { virtualAddressEntry 6 }

virtualAddressFailoverFlags OBJECT-TYPE
	SYNTAX INTEGER {
		mirrorconnections(1),
		mirrorpersistence(2),
		mirrorconnectionspersistence(3),
		nomirroring(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The failover flags for the this virtual address.
		The virtualAddressFailoverFlag is no longer relevant. Mirroring
		is controlled through the virtualServerFailoverFlag."
	::= { virtualAddressEntry 7 }

virtualAddressOctetsIn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of octets received from the network from
		this virtual server."
	::= { virtualAddressEntry 8 }

virtualAddressOctetsOut OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of octets sent to the network from this
		virtual server."
	::= { virtualAddressEntry 9 }

virtualAddressPacketsIn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of packets received from the network from
		this virtual server."
	::= { virtualAddressEntry 10 }

virtualAddressPacketsOut OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of packets sent to the network from this
		virtual	server."
	::= { virtualAddressEntry 11 }

virtualAddressCurrentConn OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of connections currently open on this
		virtual server."
	::= { virtualAddressEntry 12 }

virtualAddressMaxConn OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections this virtual server
		has had open at any one time."
	::= { virtualAddressEntry 13 }

virtualAddressTotalConn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this virtual server
		has served since the server started."
	::= { virtualAddressEntry 14 }

virtualAddressOctetsInHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of octets received from the network from
		this virtual server."
	::= { virtualAddressEntry 15 }

virtualAddressOctetsOutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of octets sent to the network from this
		virtual server."
	::= { virtualAddressEntry 16 }

virtualAddressPacketsInHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of packets received from the network from
		this virtual server."
	::= { virtualAddressEntry 17 }

virtualAddressPacketsOutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of packets sent to the network from this
		virtual	server."
	::= { virtualAddressEntry 18 }

virtualAddressUnitId OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The unit id of this virtual server."
	::= { virtualAddressEntry 19 }

--================================================================
--Virtual Servers
--================================================================

virtualServerNumber OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of virtual servers on this load balancer."
	::= { virtualServer 1 }

virtualServerTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VirtualServerEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table containing load balancer Virtual server information."
	::= { virtualServer 2 }

virtualServerEntry OBJECT-TYPE
	SYNTAX VirtualServerEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Columns in the Virtual Server table."
	INDEX { virtualServerIpAddress,virtualServerPort }
	::= { virtualServerTable 1 }

VirtualServerEntry ::=
	SEQUENCE {
		virtualServerIpAddress		IpAddress,
		virtualServerPort		INTEGER (0..65535),
		virtualServerStatus		INTEGER,
		virtualServerConnLimit		INTEGER (0..65535),
		virtualServerAppProtocol	INTEGER,
		virtualServerAppProtocolTimeout INTEGER (0..65535),
		virtualServerAppProtocolReaper	INTEGER (0..65535),
		virtualServerPersistTimeout	INTEGER,
		virtualServerPersistMask	IpAddress,
		virtualServerSticky		INTEGER,
		virtualServerStickyMask		IpAddress,
		virtualServerFailoverFlags	INTEGER,
		virtualServerOctetsIn		Counter,
		virtualServerOctetsOut		Counter,
		virtualServerPacketsIn		Counter,
		virtualServerPacketsOut		Counter,
		virtualServerCurrentConn	INTEGER (0..65535),
		virtualServerMaxConn		INTEGER (0..65535),
		virtualServerTotalConn		Counter,
		virtualServerSslNew		Counter,
		virtualServerSslHits		Counter,
		virtualServerSslTimeouts	Counter,
		virtualServerSslMisses		Counter,
		virtualServerOctetsInHi32  	Counter,
		virtualServerOctetsOutHi32	Counter,
		virtualServerPacketsInHi32	Counter,
		virtualServerPacketsOutHi32	Counter,
		virtualServerCookieMethod	INTEGER,
		virtualServerRule		DisplayString (SIZE (0..255)),
		virtualServerPool		DisplayString (SIZE (0..255))
	}

virtualServerIpAddress OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The ip address for this virtual server."
	::= { virtualServerEntry 1}

virtualServerPort OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The port for this virtual server."
	::= { virtualServerEntry 2 }

virtualServerStatus OBJECT-TYPE
	SYNTAX INTEGER {
		ready(1),
		maintainance(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is this server in maintainance mode?"
	::= { virtualServerEntry 3 }

virtualServerConnLimit OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this virtual server can
		support at one time."
	::= { virtualServerEntry 4 }

virtualServerAppProtocol OBJECT-TYPE
	SYNTAX INTEGER {
		none (1),
		ssl (2),
		http-cookie(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The application tunnelling protocol this virtual server
		uses."
	::= { virtualServerEntry 5 }

virtualServerAppProtocolTimeout OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The timeout for persistence timeout for this this
		application protocol session."
	::= { virtualServerEntry 6 }

virtualServerAppProtocolReaper OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The amount of idle time before we reap an application 
		protocol session."
	::= { virtualServerEntry 7 }

virtualServerPersistTimeout OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The timeout for persistence on this connection."
	::= { virtualServerEntry 8 }

virtualServerPersistMask OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The IP addresses matching this mask will have persistent
		connections. Those not covered by this mask will not."
	::= { virtualServerEntry 9 }

virtualServerSticky OBJECT-TYPE
	SYNTAX INTEGER {
		true (1),
	false (2) }
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is Destination Address Affinity turned on for this
		connection?" 
	::= { virtualServerEntry 10 }

virtualServerStickyMask OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The addresses matching this mask will have Destination
		Address Affinity if virtualServerSticky is true."
	::= { virtualServerEntry 11 }

virtualServerFailoverFlags OBJECT-TYPE
	SYNTAX INTEGER {
		mirrorconnections(1),
		mirrorpersistence(2),
		mirrorconnectionspersistence(3),
		nomirroring(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The failover flags for the this virtual server."
	::= { virtualServerEntry 12 }

virtualServerOctetsIn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of octets received from the network from this
		virtual server."
	::= { virtualServerEntry 13 }

virtualServerOctetsOut OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of octets sent to the network from this virtual
		server."
	::= { virtualServerEntry 14 }

virtualServerPacketsIn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of packets received from the network from this
		virtual server."
	::= { virtualServerEntry 15 }

virtualServerPacketsOut OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of packets sent to the network from this virtual
		server."
	::= { virtualServerEntry 16 }

virtualServerCurrentConn OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of connections currently open on this virtual
		server."
	::= { virtualServerEntry 17 }

virtualServerMaxConn OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections this virtual server has had 
		open at any one time."
	::= { virtualServerEntry 18 }

virtualServerTotalConn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this virtual server has
		served since the server started."
	::= { virtualServerEntry 19 }

virtualServerSslNew OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of new SSL sessions on this virtual server."
	::= { virtualServerEntry 20 }

virtualServerSslHits OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of lookup successes in the SSL session id
		cache for valid session ids."
	::= { virtualServerEntry 21 }

virtualServerSslTimeouts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of lookup successes in the SSL session id
		cache for session ids that have already been reaped."
	::= { virtualServerEntry 22 }

virtualServerSslMisses OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of lookup failures in the SSL session id
		cache."
	::= { virtualServerEntry 23 }

virtualServerOctetsInHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of octets received from the network from this
		virtual server."
	::= { virtualServerEntry 24 }

virtualServerOctetsOutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of octets sent to the network from this virtual
		server."
	::= { virtualServerEntry 25 }

virtualServerPacketsInHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of packets received from the network from this
		virtual server."
	::= { virtualServerEntry 26 }

virtualServerPacketsOutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of packets sent to the network from this virtual
		server."
	::= { virtualServerEntry 27 }

virtualServerCookieMethod OBJECT-TYPE
	SYNTAX INTEGER {
		insert(1),
		rewrite(2),
		passive(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The cookie persistence method for this virtual server."
	::= { virtualServerEntry 28 }

virtualServerRule OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The load balancing rule used by this virtual server."
	::= { virtualServerEntry 29 }

virtualServerPool OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The load balancing pool used by this virtual server
		if a load balancing rule is not defined."
	::= { virtualServerEntry 30 }

--================================================================
-- SNAT Translation Address Table
--================================================================

snatTransTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnatTransEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table of all the secure NATS entries."
	::= { snat 1 }

snatTransEntry OBJECT-TYPE
	SYNTAX SnatTransEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION "Columns in the table of secure NATS entries."
	INDEX { snatTransAddr }
	::= { snatTransTable 1 }

SnatTransEntry ::= SEQUENCE {
	snatTransEnabled		INTEGER,
	snatTransAddr			IpAddress,
	snatTransIface			DisplayString,
	snatTransNetmask		IpAddress,
	snatTransBroadcast		IpAddress,
	snatTransSecsCollectingStats	Counter,
	snatTransBitsIn			Counter,
	snatTransBitsOut		Counter,
	snatTransPktsIn			Counter,
	snatTransPktsOut		Counter,
	snatTransCurrConns		INTEGER,
	snatTransMaxConns		INTEGER,
	snatTransTotalConns		Counter,
	snatTransBitsInHi32		Counter,
	snatTransBitsOutHi32		Counter,
	snatTransPktsInHi32		Counter,
	snatTransPktsOutHi32		Counter,
	snatTransLastTransPort		INTEGER,
	snatTransUnitId			INTEGER
}
	
snatTransEnabled OBJECT-TYPE
	SYNTAX 	INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is this TransAddress enabled for SNAT?"
	::= { snatTransEntry 1 }

snatTransAddr OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The ipaddress to the outside world for this SNAT."
	::= { snatTransEntry 2 }
	
snatTransIface OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..10))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The name of the interface that this trans address
		 exists on."
	::= { snatTransEntry 3 }

snatTransNetmask OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The network mask for the snatTransAddr."
	::= { snatTransEntry 4 }

snatTransBroadcast OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The broadcast address for the snatTransAddr."
	::= { snatTransEntry 5 }

snatTransSecsCollectingStats OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of seconds we have been collecting
		 statistics for this port."
	::= { snatTransEntry 6 }

snatTransBitsIn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The total bits in for this SNAT."
	::= { snatTransEntry 7 }

snatTransBitsOut OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The total bits out for this SNAT."
	::= { snatTransEntry 8 }

snatTransPktsIn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The total packets in for this SNAT."
	::= { snatTransEntry 9 }

snatTransPktsOut OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The total packets out for this SNAT."
	::= { snatTransEntry 10 }

snatTransCurrConns OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of connections currently open for
		this SNAT."
	::= { snatTransEntry 11 }

snatTransMaxConns OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The maximum number of connections this SNAT
		has had open at any one time."
	::= { snatTransEntry 12 }

snatTransTotalConns OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The total number of connections this SNAT
		has had since the SNAT started."
	::= { snatTransEntry 13 }

snatTransBitsInHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The upper 32 bits of the total number of bits in for this SNAT."
	::= { snatTransEntry 14 }

snatTransBitsOutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The upper 32 bits of the total number of bits out for this SNAT."
	::= { snatTransEntry 15 }

snatTransPktsInHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The upper 32 bits of the total number of packets in for this SNAT."
	::= { snatTransEntry 16 }

snatTransPktsOutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The upper 32 bits of the total number of packets out for this SNAT."
	::= { snatTransEntry 17 }

snatTransLastTransPort OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Last translated port accessed using the SNAT."
	::= { snatTransEntry 18 }

snatTransUnitId OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Unit number of the load balancer to which 
		the SNAT translation address is assigned."
	::= { snatTransEntry 19 }

--================================================================
-- SNAT Original Address Table
--================================================================

snatOrigTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnatOrigEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table of all the secure NATS entries."
	::= { snat 2 }

snatOrigEntry OBJECT-TYPE
	SYNTAX SnatOrigEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION "Columns in the table of secure NATS entries."
	INDEX { snatOrigAddr }
	::= { snatOrigTable 1 }

SnatOrigEntry ::= SEQUENCE {
	snatOrigEnabled			INTEGER,
	snatOrigAddr			IpAddress,
	snatOrigConnLimit		INTEGER,
	snatOrigTransAddr		IpAddress,
	snatOrigTcpIdleTimeout		Counter,
	snatOrigUdpIdleTimeout		Counter,
	snatOrigStatsZeroTime		Counter,
	snatOrigSecsCollectingStats	Counter,
	snatOrigBitsIn			Counter,
	snatOrigBitsOut			Counter,
	snatOrigPktsIn			Counter,
	snatOrigPktsOut			Counter,
	snatOrigCurrConns		INTEGER,
	snatOrigMaxConns		INTEGER,
	snatOrigTotalConns		Counter,
	snatOrigBitsInHi32		Counter,
	snatOrigBitsOutHi32		Counter,
	snatOrigPktsInHi32		Counter,
	snatOrigPktsOutHi32		Counter,
	snatOrigLastTransPort		INTEGER
}
	
snatOrigEnabled OBJECT-TYPE
	SYNTAX 	INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is this OrigAddress enabled for SNAT?"
	::= { snatOrigEntry 1 }

snatOrigAddr OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The ipaddress to the outside world for this SNAT."
	::= { snatOrigEntry 2 }

snatOrigConnLimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections through this snat."
	::= { snatOrigEntry 3 }

snatOrigTransAddr OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The translation address corresponding to this
		original address."
	::= { snatOrigEntry 4 }

snatOrigTcpIdleTimeout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The idle timeout for TCP connections though this snat."
	::= { snatOrigEntry 5 }

snatOrigUdpIdleTimeout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The idle timeout for TCP connections though this snat."
	::= { snatOrigEntry 6 }

snatOrigStatsZeroTime OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The time we started collecting
		 statistics for this port."
	::= { snatOrigEntry 7 }

snatOrigSecsCollectingStats OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of seconds we have been collecting
		 statistics for this port."
	::= { snatOrigEntry 8 }

snatOrigBitsIn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Total bits in for this SNAT."
	::= { snatOrigEntry 9 }

snatOrigBitsOut OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Total bits out for this SNAT."
	::= { snatOrigEntry 10 }

snatOrigPktsIn OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Total packets in for this SNAT."
	::= { snatOrigEntry 11 }

snatOrigPktsOut OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Total packets out for this SNAT."
	::= { snatOrigEntry 12 }

snatOrigCurrConns OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The current number of connections for this SNAT."
	::= { snatOrigEntry 13 }

snatOrigMaxConns OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The maximum number of connections this SNAT has
		had at any one time."
	::= { snatOrigEntry 14 }

snatOrigTotalConns OBJECT-TYPE
	SYNTAX Counter 
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The total number of connections this SNAT has
		had since the SNAT started."

	::= { snatOrigEntry 15 }

snatOrigBitsInHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The upper 32 bits of the total number of bits in for this SNAT."
	::= { snatOrigEntry 16 }

snatOrigBitsOutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The upper 32 bits of the total number of bits out for this SNAT."
	::= { snatOrigEntry 17 }

snatOrigPktsInHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The upper 32 bits of the total number of packets in for this SNAT."
	::= { snatOrigEntry 18 }

snatOrigPktsOutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The upper 32 bits of the total number of packets out for this SNAT."
	::= { snatOrigEntry 19 }

snatOrigLastTransPort OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Last translated port accessed using the SNAT."
	::= { snatOrigEntry 20 }

--================================================================
-- General Load Balancer Scalars
--================================================================
uptime OBJECT-TYPE
	SYNTAX TimeTicks
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The uptime of this device -- not the uptime of the SNMP
		agent."
	::= { loadbal 50 }

contot OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this balancer has
		serviced."
	::= { loadbal 51 }

concur OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of current connections."
	::= { loadbal 52 }

conmax OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections that this balancer
		has serviced at one time."
	::= { loadbal 53 }

pktsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total count of all packets read off the network."
	::= { loadbal 54 }

pktsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total count of all packets written to the network."
	::= { loadbal 55 }

bitsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of bits read off the network."
	::= { loadbal 56 }

bitsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total count of all bits written to the network."
	::= { loadbal 57 }

portdeny OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of port denies that has occuried."
	::= { loadbal 58 }

droppedin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of inbound packets that have been dropped."
	::= { loadbal 59 }

droppedout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of outbound packets that have been dropped."
	::= { loadbal 60 }

active OBJECT-TYPE
	SYNTAX INTEGER {
		standby (1),
		active (2) }
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"If this balancer in active or standby mode?"
	::= { loadbal 61 }

mirrorenabled OBJECT-TYPE
	SYNTAX INTEGER {
		disabled (1),
		enabled (2) }
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is mirroring enabled on this load balancer?"
	::= { loadbal 62 }

resetcounters OBJECT-TYPE
	SYNTAX INTEGER {
		unreset(2),
		reset (1)
	}
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Reset all load balancer counters."
	::= { loadbal 63 }

pktsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total count of all packets read off the network."
	::= { loadbal 64 }

pktsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total count of all packets written to the network."
	::= { loadbal 65 }

bitsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of bits read off the network."
	::= { loadbal 66 }

bitsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total count of all bits written to the network."
	::= { loadbal 67 }

nodePing OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Node ping interval in seconds."
	::= { loadbal 68 }

nodeTimeout OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Node timeout interval in seconds."
	::= { loadbal 69 }

loadbalMode OBJECT-TYPE
	SYNTAX INTEGER {
		roundrobin(1),
		ratio(2),
		fastest(3),
		leastConn(4),
		predictive(5),
		observed(6),
		priority(7),
		ratioNodeAddress(8),
		priorityNodeAddress(9),
		leastConnNodeAddress(10)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The global load balance mode."
	::= { loadbal 70 }

watchDogArmed OBJECT-TYPE
	SYNTAX INTEGER {
		armed(1), disarmed(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Watch dog card state."
	::= { loadbal 71 }

snatConnLimit OBJECT-TYPE
	SYNTAX INTEGER 
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Number of simultaneous connections allowed through a SNAT."
	::= { loadbal 72 }

snatTCPIdleTimeout OBJECT-TYPE
	SYNTAX INTEGER 
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Default connection timeout for SNAT TCP connections."
	::= { loadbal 73 }

snatUDPIdleTimeout OBJECT-TYPE
	SYNTAX INTEGER 
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Default timeout for SNAT UDP connections."
	::= { loadbal 74 }

gatewayFailsafe OBJECT-TYPE
	SYNTAX INTEGER {
		enabled(1),
		disabled(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is gateway failsafe pinging enabled."
	::= { loadbal 75 }

unitId OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Unit id(s) for this load balancer."
	::= { loadbal 76 }

memoryUsed OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Memory used by the load balancer kernal."
	::= { loadbal 77 }
 
memoryTotal OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Total memory available to the load balancer kernal."
	::= { loadbal 78 }

--================================================================
-- VADDRESS (Virtual Address) information
--================================================================
vaddressNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of virtual address's present on this system."
	::= { vaddress 1 }

vaddressTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VaddressEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of virtual address's entries. The number of
		entries is given by the value of vaddressNumber."
	::= { vaddress 2 }

vaddressEntry OBJECT-TYPE
	SYNTAX VaddressEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A vaddress entry containing vaddress information."
	INDEX { vaddressIndex }
	::= { vaddressTable 1 }

VaddressEntry ::=
	SEQUENCE {
		vaddressIndex		INTEGER (0..65535),
		vaddressDescr		DisplayString (SIZE (0..255)),
		vaddressIpAddr		IpAddress,
		vaddressPktsin		Counter,
		vaddressPktsout		Counter,
		vaddressBitsin		Counter,
		vaddressBitsout		Counter,
		vaddressConcur		INTEGER,
		vaddressConmax		INTEGER,
		vaddressConlimit	INTEGER,
		vaddressContot		Counter,
		vaddressStatus		INTEGER,
		vaddressPktsinHi32	Counter,
		vaddressPktsoutHi32	Counter,
		vaddressBitsinHi32	Counter,
		vaddressBitsoutHi32	Counter
	}

vaddressIndex OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A unique value for each virtual address defined."
	::= { vaddressEntry 1 }

vaddressDescr OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A textual string describing the virtual address."
	::= { vaddressEntry 2 }

vaddressIpAddr OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The IP address for this virtual address."
	::= { vaddressEntry 3 }

vaddressPktsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this virtual address."
	::= { vaddressEntry 4 }

vaddressPktsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out of this virtual address."
	::= { vaddressEntry 5 }

vaddressBitsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this virtual address."
	::= { vaddressEntry 6 }

vaddressBitsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out of this virtual address."
	::= { vaddressEntry 7 }

vaddressConcur OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The current number of connections on this virtual
		address."
	::= { vaddressEntry 8 }

vaddressConmax OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections this virtual server
		has had open at any one time."
	::= { vaddressEntry 9 }

vaddressConlimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this virtual address
	can support at one time."
	::= { vaddressEntry 10 }

vaddressContot OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this virtual server
		has served since the server started."
	::= { vaddressEntry 11 }

vaddressStatus OBJECT-TYPE
	SYNTAX INTEGER {
		ready(1),
		maintainance(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Status of this virtual address."
	::= { vaddressEntry 12 }

vaddressPktsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this virtual address."
	::= { vaddressEntry 13 }

vaddressPktsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out of this virtual address."
	::= { vaddressEntry 14 }

vaddressBitsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this virtual address."
	::= { vaddressEntry 15 }

vaddressBitsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out of this virtual address."
	::= { vaddressEntry 16 }

--================================================================
-- NDADDR information
--================================================================
ndaddrNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of ndaddrs present on this system."
	::= { ndaddr 1 }

ndaddrTable OBJECT-TYPE
	SYNTAX SEQUENCE OF NdaddrEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of ndaddr entries. The number of entries is
		given by the value of ndaddrNumber."
	::= { ndaddr 2 }

ndaddrEntry OBJECT-TYPE
	SYNTAX NdaddrEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A ndaddr entry containing ndaddr statitics."
	INDEX { ndaddrIndex }
	::= { ndaddrTable 1 }

NdaddrEntry ::=
	SEQUENCE {
		ndaddrIndex	INTEGER (0..65535),
		ndaddrDescr	DisplayString (SIZE (0..255)),
		ndaddrIpAddr	IpAddress,
		ndaddrPktsin	Counter,
		ndaddrPktsout	Counter,
		ndaddrBitsin	Counter,
		ndaddrBitsout	Counter,
		ndaddrConcur	INTEGER,
		ndaddrConmax	INTEGER,
		ndaddrConlimit	INTEGER,
		ndaddrContot	Counter,
		ndaddrStatus	INTEGER,
		ndaddrPktsinHi32	Counter,
		ndaddrPktsoutHi32	Counter,
		ndaddrBitsinHi32	Counter,
		ndaddrBitsoutHi32	Counter,
		ndaddrMaintenance	INTEGER
	}

ndaddrIndex OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A unique value for each ndaddr defined."
	::= { ndaddrEntry 1 }

ndaddrDescr OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A textual string describing the node address."
	::= { ndaddrEntry 2 }

ndaddrIpAddr OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The Node address (IP Address)."
	::= { ndaddrEntry 3 }

ndaddrPktsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this node address."
	::= { ndaddrEntry 4 }

ndaddrPktsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this node address."
	::= { ndaddrEntry 5 }

ndaddrBitsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this node address."
	::= { ndaddrEntry 6 }

ndaddrBitsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this node address."
	::= { ndaddrEntry 7 }

ndaddrConcur OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of current connections for this node
		address."
	::= { ndaddrEntry 8 }

ndaddrConmax OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections this node address
		has had oppen at one time."
	::= { ndaddrEntry 9 }

ndaddrConlimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections this node address
		is allowed to have open at one time."
	::= { ndaddrEntry 10 }

ndaddrContot OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total connections that this node address had
		had."
	::= { ndaddrEntry 11 }

ndaddrStatus OBJECT-TYPE
	SYNTAX INTEGER {
		up(1),
		down(2),
		invalid(3),
		valid(4),
		unchecked(6),
		unknown(7)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The status of this node address."
	::= { ndaddrEntry 12 }

ndaddrPktsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this node address."
	::= { ndaddrEntry 13 }

ndaddrPktsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this node address."
	::= { ndaddrEntry 14 }

ndaddrBitsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this node address."
	::= { ndaddrEntry 15 }

ndaddrBitsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this node address."
	::= { ndaddrEntry 16 }

ndaddrMaintenance OBJECT-TYPE
	SYNTAX INTEGER {
		true(1),
		false(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Is this node address in maintenance mode."
	::= { ndaddrEntry 17 }


--================================================================
-- NAT (Network Address Translation) information
--================================================================
natNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of NATS present on this system."
	::= { nat 1 }

natTable OBJECT-TYPE
	SYNTAX SEQUENCE OF NatEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of NAT entries. The number of
		entries is given by the value of natNumber."
	::= { nat 2 }

natEntry OBJECT-TYPE
	SYNTAX NatEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A NAT entry containing information by nat."
	INDEX { natIndex }
	::= { natTable 1 }

NatEntry ::=
	SEQUENCE {
		natIndex	INTEGER (0..65535),
		natDescr	DisplayString (SIZE (0..255)),
		natIpAddrFR	IpAddress,
		natIpAddrTO	IpAddress,
		natPktsin	Counter,
		natPktsout	Counter,
		natBitsin	Counter,
		natBitsout	Counter,
		natPktsinHi32	Counter,
		natPktsoutHi32	Counter,
		natBitsinHi32	Counter,
		natBitsoutHi32	Counter,
		natOutsideNetmask IpAddress,
		natOutsideBroadcast IpAddress,
		natInterface	DisplayString (SIZE (0..255)),
		natUnitId	INTEGER
	}

natIndex OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A unique value for each NAT defined."
	::= { natEntry 1 }

natDescr OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A textual string describing the NAT."
	::= { natEntry 2 }

natIpAddrFR OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The NAT's from IP Address."
	::= { natEntry 3 }

natIpAddrTO OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The NAT's TO IP Address."
	::= { natEntry 4 }

natPktsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this NAT."
	::= { natEntry 5 }

natPktsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this NAT."
	::= { natEntry 6 }

natBitsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this NAT."
	::= { natEntry 7 }

natBitsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this NAT."
	::= { natEntry 8 }

natPktsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this NAT."
	::= { natEntry 9 }

natPktsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this NAT."
	::= { natEntry 10 }

natBitsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this NAT."
	::= { natEntry 11 }

natBitsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this NAT."
	::= { natEntry 12 }

natOutsideNetmask OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The outside netmask for this NAT."
	::= { natEntry 13 }

natOutsideBroadcast OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The outside broadcast address for this NAT."
	::= { natEntry 14 }

natInterface OBJECT-TYPE
	SYNTAX 	DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The interface name for this NAT."
	::= { natEntry 15 }

natUnitId OBJECT-TYPE
	SYNTAX 	INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The unit id associated with this NAT."
	::= { natEntry 16 }

--================================================================
-- VPORT information
--================================================================
vportNumber OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of vports present on this system."
	::= { vport 1 }

vportTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VportEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A list of vport entries. The number of
entries is given by the value of vportNumber."
	::= { vport 2 }

vportEntry OBJECT-TYPE
	SYNTAX VportEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A vport entry containing vport statitics."
	INDEX { vportIndex }
	::= { vportTable 1 }

VportEntry ::=
	SEQUENCE {
		vportIndex	INTEGER (0..65535),
		vportPort	INTEGER,
		vportDescr	DisplayString (SIZE (0..255)),
		vportPktsin	Counter,
		vportPktsout	Counter,
		vportBitsin	Counter,
		vportBitsout	Counter,
		vportConcur	INTEGER,
		vportConmax	INTEGER,
		vportConlimit	INTEGER,
		vportContot	Counter,
		vportReaped	Counter,
		vportPktsinHi32	Counter,
		vportPktsoutHi32	Counter,
		vportBitsinHi32	Counter,
		vportBitsoutHi32	Counter,
		vportAllowed	INTEGER,
		vportTCPpersistance	INTEGER,
		vportUDPpersistance	INTEGER
	}

vportIndex OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A unique value for each virtual port defined."
	::= { vportEntry 1 }

vportPort OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The Virutal port's port Number."
	::= { vportEntry 2 }

vportDescr OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..255))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A textual string describing the virtual port."
	::= { vportEntry 3 }

vportPktsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this virtual port."
	::= { vportEntry 4 }

vportPktsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this virtual port."
	::= { vportEntry 5 }

vportBitsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this virtual port."
	::= { vportEntry 6 }

vportBitsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this virtual port."
	::= { vportEntry 7 }

vportConcur OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of current connections for this virtual
		port"
	::= { vportEntry 8 }

vportConmax OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections this virtual port
		has had open at any one time."
	::= { vportEntry 9 }

vportConlimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The connection limit for this virtual port."
	::= { vportEntry 10 }

vportContot OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this virtual port
		has had open since the server started."
	::= { vportEntry 11 }

vportReaped OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total connections reaped on this virtual port."
	::= { vportEntry 12 }

vportPktsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets in for this virtual port."
	::= { vportEntry 13 }

vportPktsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total packets out for this virtual port."
	::= { vportEntry 14 }

vportBitsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits in for this virtual port."
	::= { vportEntry 15 }

vportBitsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total bits out for this virtual port."
	::= { vportEntry 16 }

vportAllowed OBJECT-TYPE
	SYNTAX INTEGER { allowed(1), disallowed(2) }
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Is this port allowed."
	::= { vportEntry 17 }

vportTCPpersistance OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Number of seconds before TCP persistence
		expires for this virtual port."
	::= { vportEntry 18 }

vportUDPpersistance OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Number of seconds before UDP persistence
		expires for this virtual port."
	::= { vportEntry 19 }

--================================================================
-- MEMBER information
-- member information is indexed by Virtual Path and Ordinal Number
--================================================================

memberTable OBJECT-TYPE
	SYNTAX SEQUENCE OF MemberEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A table containing balancer member information."
	::= { member 2 }

memberEntry OBJECT-TYPE
	SYNTAX MemberEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"Information Specific to Members."
	INDEX { memberVirtualAddress, memberVirtualAddressPort, 
		memberOrdinal }
	::= { memberTable 1 }

MemberEntry ::=
	SEQUENCE {
		memberVirtualAddress		IpAddress,
		memberVirtualAddressPort	INTEGER (0..65535),
		memberOrdinal			INTEGER (0..65535),
		memberAddress			IpAddress,
		memberPort			INTEGER,
		memberStatus			INTEGER,
		memberPktsin			Counter,
		memberPktsout			Counter,
		memberBitsin			Counter,
		memberBitsout			Counter,
		memberConcur			INTEGER,
		memberConmax			INTEGER,
		memberConlimit			INTEGER,
		memberContot			Counter,
		memberPktsinHi32			Counter,
		memberPktsoutHi32			Counter,
		memberBitsinHi32			Counter,
		memberBitsoutHi32			Counter
	}

memberVirtualAddress OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The virtual IP address."
	::= { memberEntry 1 }

memberVirtualAddressPort OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The virtual IP address port."
	::= { memberEntry 2 }

memberOrdinal OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The virtual IP address member ordinal number."
	::= { memberEntry 3 }

memberAddress OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The node ip address for this member."
	::= { memberEntry 4 }

memberPort OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The node port for this member."
	::= { memberEntry 5 }

memberStatus OBJECT-TYPE
	SYNTAX INTEGER {
		up(1),
		down(2),
		invalid(3),
		maintainance(4),
		unchecked(5),
		unknown(6)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The status of this member."
	::= { memberEntry 6 }

memberPktsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of packets read off the network for
		this member."
	::= { memberEntry 7 }

memberPktsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of packets written to the network for
		this member."
	::= { memberEntry 8 }

memberBitsin OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of bits read off the network for this
		member."
	::= { memberEntry 9 }

memberBitsout OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of bits written to the network for
		this member."
	::= { memberEntry 10 }

memberConcur OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The number of connections currently open for this
		member."
	::= { memberEntry 11 }

memberConmax OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The maximum number of connections this member has had
		open at any one time."
	::= { memberEntry 12 }

memberConlimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this member can
		support at one time."
	::= { memberEntry 13 }

memberContot OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The total number of connections this member has
		served since the server started."
	::= { memberEntry 14 }

memberPktsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of packets read off the network for
		this member."
	::= { memberEntry 15 }

memberPktsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of packets written to the network for
		this member."
	::= { memberEntry 16 }

memberBitsinHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of bits read off the network for this
		member."
	::= { memberEntry 17 }

memberBitsoutHi32 OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The count of bits written to the network for
		this member."
	::= { memberEntry 18 }

--================================================================
-- TRAP Information
--================================================================
loadBalTrapMisc TRAP-TYPE
	ENTERPRISE loadBalTraps
	DESCRIPTION
		"Uncatagorized trap."
	::= 1
loadBalTrapServiceDown TRAP-TYPE
	ENTERPRISE loadBalTraps
	DESCRIPTION
		"Service Came Down."
	::= 2
loadBalTrapServiceUP TRAP-TYPE
	ENTERPRISE loadBalTraps
	DESCRIPTION
		"Service Came Up."
	::= 3
loadBalTrapReset TRAP-TYPE
	ENTERPRISE loadBalTraps
	DESCRIPTION
		"System Reset."
	::= 4
loadBalTrapDenial TRAP-TYPE
	ENTERPRISE loadBalTraps
	DESCRIPTION
		"REQUEST DENIAL"
	::= 5
loadBalTrapLogin TRAP-TYPE
	ENTERPRISE loadBalTraps
	DESCRIPTION
		"Root Login."
	::= 6
loadBalTrapRemoveUnit TRAP-TYPE
	ENTERPRISE loadBalTraps
	DESCRIPTION
		"Removing unit. Potential failover of this load balancer."
	::= 7 
loadBalTrapAddUnit TRAP-TYPE
	ENTERPRISE loadBalTraps
	DESCRIPTION
		"Adding unit. This load balancer has taken responsibility for a new unit id."
	::= 8 

END

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

--/* 
-- * $RCSfile: WAN-TRAP-MIB.mib,v $ - Wan blades enterprise MIB
-- *
-- * Copyright (c) 2000 by Optranet Networks Inc.
-- * 
-- * Revision control history
-- * ------------------------
-- * $Id: WAN-TRAP-MIB.mib,v 1.3 2005-09-22 22:19:49 scotth Exp $ $ProjectRevision: 1.85 $
-- *
-- * Extreme Networks modification history
-- * -------------------------------------
-- * $Log: not supported by cvs2svn $
-- * Revision 1.2.32.1  2005/09/15 04:10:33  scotth
-- * Reviewer      : Self
-- * Regression    : None
-- * PD none : cvs update -d -jv1130b11-br-rushmore7-6 -jv1130b11-br-rushmore7-7 exos
-- * Merge to branch-mckinley_v1140b1
-- *
-- * Revision 1.2.14.1  2005/09/09 00:58:31  ykhan
-- * Reviewer      : Balaji
-- * Regression    : none
-- * PD3-42847181  : DOS to unix conversion, Removed 11111111 from BITS default value, Fixes the TRAP mib to compile on HPOV
-- *
-- * Revision 1.2  2005/07/14 17:51:38  scotth
-- * Reviewer      : Self
-- * Regression    : None
-- * PD none : cvs update -d -jv1130b4-br-rushmore6-3 -jv1130b4-br-rushmore6-4 exos (v1130b8)
-- *
-- * Revision 1.1.2.1  2005/07/14 04:39:39  ykhan
-- * Reviewer      : Abhay
-- * Regression    : SC_050713_140715
-- * PD3-39730771: This file has been implemented by EW but not Exos. To keep mib in sync this file has to present in exos tree.
-- *
-- * Revision 1.1  2005/01/25 02:03:49  bsrinivasan
-- * Added the MIBs from the Titan tree
-- *
-- * Revision 1.1  2003/06/07 01:14:43  rnagarajan
-- * - Added new wantrap.mib from Extremeware 7.1
-- *
-- * Revision 1.3  2003/02/06 22:56:36  rtp-build
-- * PD none: merge 802.1x and SNMPv3 feature into trunk (v710b9)
-- *
-- * Revision 1.2.10.3  2003/02/04 17:41:10  dcarson
-- * PD none: never use dash-dash in an SNMP commit comment
-- *
-- * Revision 1.2.10.2  2003/02/04 16:20:13  dcarson
-- * PD none: promotion of branch-802-1x-snmpv3_v710b6 to _v710b8 (phase one; has compile errors)
-- *
-- * Revision 1.1.6.1  2003/01/15 03:53:44  rsharma
-- * PD2-116204701 : promote 802.1x ,netlogin & snmpv3 merge from v710b0 -> v710b6
-- *
-- * Revision 1.1.2.1  2002/12/03 16:46:56  agidwani
-- * PD2-109134118: SNMPv3 merge
-- *
-- * Revision 1.2  2002/03/21 20:59:13  dcarson
-- * PD 1-C8KSX: merge ABU_v700b4 into trunk
-- *
-- * Revision 1.1.6.1  2002/03/12 06:25:59  dcarson
-- * PD 1-BGKRG: merge branch-ABU_v700b3 to branch-ABU_v700b4
-- *
-- * Revision 1.1.4.1  2002/03/11 20:29:42  dwade
-- * conflict resolution for branch-ABU_v700b3
-- *
-- * Revision 1.1.2.2  2002/03/08 22:11:08  vtseng
-- * Lilac merge
-- *
-- * Revision 1.1.2.1  2002/02/21 16:45:46  dwade
-- * ABU files added for branch branch-ABU-v700
-- *
-- * Revision 1.1.3.1  2001/12/14 02:08:17  dwade
-- * Tree v618b1060_abu
-- *
-- * Revision 1.1.3.1  2001/06/05 19:48:53  rrose
-- * Tree optra
-- *
-- * Revision 1.1.1.1  2001/03/13 00:04:55  bmonsen
-- * Imported from MKS
-- *
-- * Revision 1.3  2000/10/26 20:27:30Z  victort
-- * Added NoMasterClockLost trap
-- * Revision 1.1  2000/09/10 08:30:00  victort
-- * Initial revision
-- *
-- */

--
-- WAN Traps
--

WAN-TRAP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        extremenetworks, extremeAgent   FROM EXTREME-BASE-MIB
		sysUpTime, sysDescr             FROM RFC1213-MIB
		dsx1LineIndex, dsx1IfIndex,
        dsx1LineStatus                  FROM RFC1406-MIB
		dsx3LineIndex, dsx3IfIndex,
        dsx3LineStatus                  FROM RFC1407-MIB
        TRAP-TYPE                       FROM RFC-1215
        OBJECT-TYPE                     FROM SNMPv2-SMI;
--
-- Traps for WAN Blade
--
	wanDsx1LineStatusChange TRAP-TYPE
		ENTERPRISE  extremenetworks
		VARIABLES { sysUpTime,
		            sysDescr,
		            dsx1LineIndex,
		            dsx1IfIndex,
                    dsx1LineStatus }
		DESCRIPTION
		"Signifies that the DS1 line status change for 
		the specified interface has been detected."
	::= 100
	
	wanDsx1LossOfMasterClock TRAP-TYPE
		ENTERPRISE  extremenetworks
		VARIABLES { sysUpTime,
		            sysDescr,
                    dsx1LineIndex,
		            dsx1IfIndex,
                    dsx1LineStatus }
		DESCRIPTION
		"Signifies that the wanDsx1LossOfMasterClock event for 
		the specified interface has been detected."
	::= 101
	
	wanDsx1NoLossOfMasterClock TRAP-TYPE
		ENTERPRISE  extremenetworks
		VARIABLES { sysUpTime,
		            sysDescr,
                    dsx1LineIndex,
		            dsx1IfIndex,
                    dsx1LineStatus }
		DESCRIPTION
		"Signifies that the wanDsx1NoLossOfMasterClock event for 
		the specified interface has been detected."
	::= 102
	
	wanDsx3LineStatusChange TRAP-TYPE
		ENTERPRISE  extremenetworks
		VARIABLES { sysUpTime,
		            sysDescr,
		            dsx3LineIndex,
		            dsx3IfIndex,
                    dsx3LineStatus }
		DESCRIPTION
		"Signifies that the T3 line status change for 
		the specified interface has been detected."
	::= 103
	
	wanDsx3LossOfMasterClock TRAP-TYPE
		ENTERPRISE  extremenetworks
		VARIABLES { sysUpTime,
		            sysDescr,
                    dsx3LineIndex,
		            dsx3IfIndex,
                    dsx3LineStatus }
		DESCRIPTION
		"Signifies that the wanDsx3LossOfMasterClock event for 
		the specified interface has been detected."
	::= 104
	
	wanDsx3NoLossOfMasterClock TRAP-TYPE
		ENTERPRISE  extremenetworks
		VARIABLES { sysUpTime,
		            sysDescr,
                    dsx3LineIndex,
		            dsx3IfIndex,
                    dsx3LineStatus }
		DESCRIPTION
		"Signifies that the wanDsx3NoLossOfMasterClock event for 
		the specified interface has been detected."
	::= 105
	
	
END

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

XEDIA-REG DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, enterprises, OBJECT-IDENTITY
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    ;

xedia OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "Xedia's node in the naming hierarchy as assigned by the
        Internet Assigned Numbers Authority (IANA)."
    ::= { enterprises 838 }

xediaRegistrations MODULE-IDENTITY
    LAST-UPDATED "9612202155Z" -- December 20, 1996
    ORGANIZATION "Xedia Corp."
    CONTACT-INFO
        "support@xedia.com"
    DESCRIPTION
        "This module defines the enterprises OID of Xedia and other
        company-wide definitions. The resulting top-level name space
        under the xedia branch looks like this:

        xedia
            (agentConfig       - an older MIB defined for MADswitch)
            xediaRegistrations - this module
            xediaMibs          - MIB modules defined in .mi2 files
            xediaClasses       - CLASS modules defined .mo files
            xediaProducts      - AGENT-CAPABILITIES modules defined 
                                 in .mi2 files

        This is where you reserve an OIDs for a MIB module. The values
        are defined in the appropriate .mi2/.mo files but are in
        comments here so that we can have one document under source
        control to reserve and catalog values."
    ::= { xedia 2 }

-- This is a MIB module defined for Xedia's first product, the MADswitch
-- agentConfig          OBJECT IDENTIFIER ::= { xedia 1 }

xediaMibs OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "A registration point under which all (new) Xedia MIB modules
        are defined."
    ::= { xedia 3 }

-- xediaSystemMIB           ::= { xediaMibs 1 }
-- xediaTrafficMgmtMIB      ::= { xediaMibs 2 }
-- xediaEthernetMIB         ::= { xediaMibs 3 }
-- xediaIpMIB               ::= { xediaMibs 4 }
-- xediaRipMIB              ::= { xediaMibs 5 }
-- xediaDriverMIB           ::= { xediaMibs 6 }
-- xediaHdlcMIB             ::= { xediaMibs 7 }
-- xediaSecurityMIB         ::= { xediaMibs 8 }
-- xediaBgpMIB              ::= { xediaMibs 9 }
-- xediaPolicyMIB           ::= { xediaMibs 10 }
-- xediaDs3MIB              ::= { xediaMibs 11 }
-- xediaAtmMIB              ::= { xediaMibs 12 }
-- xediaCronMib             ::= { xediaMibs 13 }
-- xediaIpsecMIB            ::= { xediaMibs 14 }
-- xediaIpBackupMIB         ::= { xediaMibs 15 }
-- xediaRadiusMib           ::= { xediaMibs 16 }
-- xediaAuthenticationMib   ::= { xediaMibs 17 }
-- xediaDs1MIB              ::= { xediaMibs 18 }
-- xediaFrameRelayMIB       ::= { xediaMibs 19 }
-- xediaPppSecMIB           ::= { xediaMibs 20 }
-- xediaPppMpMIB            ::= { xediaMibs 21 }
-- xediaSmdsMIB             ::= { xediaMibs 22 }
-- xediaNatMIB              ::= { xediaMibs 23 }
-- xediaPkiMIB              ::= { xediaMibs 24 }
-- xediaSonetMIB            ::= { xediaMibs 25 }
-- xediaNtpMIB              ::= { xediaMibs 26 }
-- xediaSlaMonitorMIB       ::= { xediaMibs 27 }
-- xediaDhcpMIB             ::= { xediaMibs 28 }
-- xediaIpMrouteMIB         ::= { xediaMibs 29 }
-- xediaL2DialMIB           ::= { xediaMibs 30 }
-- xediaPimMIB              ::= { xediaMibs 31 }
-- xediaDvmrpMIB            ::= { xediaMibs 32 }

xediaClasses OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "A registration point under which all Xedia CLASS definition
        modules are defined."
    ::= { xedia 4 }

-- xediaSystemClasses       ::= { xediaClasses 1 }
-- systemClasses            ::= { xediaClasses 2 }
-- raptorClasses            ::= { xediaClasses 3 }
-- ifClasses                ::= { xediaClasses 4 }
-- ipClasses                ::= { xediaClasses 5 }
-- udpClasses               ::= { xediaClasses 6 }
-- tcpClasses               ::= { xediaClasses 7 }
-- snmpClasses              ::= { xediaClasses 8 }
-- madSwitchClasses         ::= { xediaClasses 9 }
-- genAgentClasses          ::= { xediaClasses 10 }
-- rptrClasses              ::= { xediaClasses 11 }
-- bridgeClasses            ::= { xediaClasses 12 }
-- ethClasses               ::= { xediaClasses 13 }
-- xediaSystemClasses       ::= { xediaClasses 14 }
-- ipRouteClasses           ::= { xediaClasses 15 }
-- xediaSnmpCommClasses     ::= { xediaClasses 16 }
-- xediaTrafficMgmtClasses  ::= { xediaClasses 17 }
-- ripv2Classes             ::= { xediaClasses 18 }
-- ospfClasses              ::= { xediaClasses 19 }
-- ipAddrClasses            ::= { xediaClasses 20 }
-- frameRelayDteClasses     ::= { xediaClasses 21 }
-- ds3Classes               ::= { xediaClasses 22 }
-- usrHistoryClasses        ::= { xediaClasses 23 }
-- xediaDriverClasses       ::= { xediaClasses 24 }
-- xediaHdlcClasses         ::= { xediaClasses 25 }
-- bgp4Classes              ::= { xediaClasses 26 }
-- xediaSecurityClasses     ::= { xediaClasses 27 }
-- pppClasses               ::= { xediaClasses 28 }
-- xediaPolicyClasses       ::= { xediaClasses 29 }
-- t3Ds3Classes             ::= { xediaClasses 30 }
-- atmClasses               ::= { xediaClasses 31 }
-- ipoaClasses              ::= { xediaClasses 32 }
-- atmDs3Classes            ::= { xediaClasses 33 }
-- atmSonetClasses          ::= { xediaClasses 34 }
-- xediaCronClasses         ::= { xediaClasses 35 }
-- dnsResolverClasses       ::= { xediaClasses 36 }
-- xediaIpsecClasses        ::= { xediaClasses 37 }
-- xipbackupClasses         ::= { xediaClasses 38 }
-- xediaRadiusClasses       ::= { xediaClasses 39 }
-- xediaAuthenticationClasses ::= { xediaClasses 40 }
-- ds1Classes               ::= { xediaClasses 41 }
-- t1ds1Classes             ::= { xediaClasses 42 }
-- xediaFrameRelayClasses   ::= { xediaClasses 43 }
-- smdsClasses              ::= { xediaClasses 44 }
-- xediaPppSecClasses       ::= { xediaClasses 45 }
-- xediaPppMpClasses        ::= { xediaClasses 46 }
-- xediaNatClasses          ::= { xediaClasses 47 }
-- xediaPkiClasses          ::= { xediaClasses 48 }
-- xediaSonetClasses        ::= { xediaClasses 49 }
-- igmpClasses              ::= { xediaClasses 50 }
-- iptnlClasses             ::= { xediaClasses 51 }
-- xediaNtpClasses          ::= { xediaClasses 52 }
-- slaMonitorClasses        ::= { xediaClasses 53 }
-- xdhcpClasses             ::= { xediaClasses 54 }
-- ipMrouteClasses	        ::= { xediaClasses 55 }
-- l2tpClasses  	        ::= { xediaClasses 56 }
-- XediaMssiClasses  	    ::= { xediaClasses 57 }
-- dvmrpClasses  	    ::= { xediaClasses 58 }
-- xipMrouteClasses  	    ::= { xediaClasses 59 }
-- l2DialClasses            ::= { xediaClasses 60 }
-- pimClasses		    ::= { xediaClasses 61 }
-- xediPimClasses	    ::= { xediaClasses 62 }

xediaProducts OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "A registration point under which all Xedia AGENT-CAPABILITIES
        definitions (and therefore values of sysObjectId) are
        defined."
    ::= { xedia 5 }

-- xediaVelociraptor        ::= { xediaProducts 1 }
-- xediaVelociraptorMaj1    ::= { xediaVelociraptor 1 }
-- xediaVelociraptorMin0    ::= { xediaVelociraptorMaj1 0 }
-- xediaVelociraptorMin1    ::= { xediaVelociraptorMaj1 1 }
-- xediaVelociraptorMin2    ::= { xediaVelociraptorMaj1 2 }
-- xediaVelociraptorMin3    ::= { xediaVelociraptorMaj1 3 }

LongDisplayString ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A string that has the same properties as a DisplayString
        except it can be up to 2048 characters long."
    SYNTAX      OCTET STRING (SIZE (0..2048))

END





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

-- Open issues:

--   o Do we need an Isolated parameter for a class? (see definition
--   of "isolated" in Floyd/Jacobson paper).

--   o Do we need the xtmUnsatisfied NOTIFICATION-TYPE (and associated
--   on/off configuration attribute?)

--   o What are the ranges, units and default values for MaxIdle,
--   OffTime, and MinIdle?

--   o Should we have a Counter64 version of xtmClassOutOctets?

--   o Are there any other class parameters that can't be modified
--   once the class is in use? (See the DESCRIPTION of xtmClassEntry.)

-- ================================================================

XEDIA-TRAFFIC-MGMT-MIB DEFINITIONS ::= BEGIN

IMPORTS 
    MODULE-IDENTITY, OBJECT-TYPE, Gauge32, Integer32, Counter32,
    NOTIFICATION-TYPE, IpAddress, Unsigned32
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString, TruthValue, RowStatus
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    ifIndex
        FROM RFC1213-MIB
    xediaMibs
        FROM XEDIA-REG
    ;

xediaTrafficMgmtMIB MODULE-IDENTITY
    LAST-UPDATED "9705022155Z" -- May 2, 1997      
    ORGANIZATION "Xedia Corp."
    CONTACT-INFO
        "support@xedia.com"
    DESCRIPTION
        "This module defines objects for the management of Xedia's
        proprietary Traffic Management capability. This capability is
        based on Class-Based Queueing (CBQ).

        The purpose of the Xedia Traffic Management (xtm) function is
        to share access to an interface's bandwidth based on policies
        set up by the administrator."
    ::= { xediaMibs 2 }

-- ================================================================
-- Top-level organization of the MIB
-- ================================================================

xtmObjects          OBJECT IDENTIFIER ::= { xediaTrafficMgmtMIB 1 }
xtmNotifications    OBJECT IDENTIFIER ::= { xediaTrafficMgmtMIB 2 }
xtmConformance      OBJECT IDENTIFIER ::= { xediaTrafficMgmtMIB 3 }

-- ================================================================
-- Textual Conventions (datatypes)
-- ================================================================

-- Hack for pre-1902 compiler:
-- Unsigned32 ::= Gauge32

XtmIpAddress ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "1d."
    STATUS          current
    DESCRIPTION
        "An IPv4 or IPv6 address. The version can be inferred from
        length."
--    SYNTAX          OCTET STRING (SIZE (4 | 16))
    SYNTAX          IpAddress

XtmProtocol ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "The value of the IP Protocol field of an IP Datagram
        Header. This identifies the protocol layer above IP. For
        example, the value 6 is used for TCP and the value 17 is used
        for UDP.  The values of this field are defined in the Assigned
        Numbers RFC."
    SYNTAX          INTEGER {
                        any(0),
                        icmp(1),
                        tcp(6),
                        udp(17)
                    }

XtmPort ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "A UDP or TCP port value. The values of this field are defined
        in the Assigned Numbers RFC."
    SYNTAX          INTEGER {
                        any(0),
                        ftpData(20),
                        ftp(21),
                        telnet(23),
                        smtp(25),
                        domain(53),
                        bootps(67),
                        bootpc(68),
                        tftp(69),
                        gopher(70),
                        finger(79),
                        wwwHttp(80),
                        nntp(119),
                        ntp(123),
                        snmp(161),
                        snmpTrap(162),
                        bgp(179)
                    }

XtmBitRate ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "A data rate in bits/second."
    SYNTAX          Integer32 (0..'7FFFFFFF'h)

XtmTosOctet ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "1x"
    STATUS          current
    DESCRIPTION
        "A single hexidecimal octet used to specify a type-of-service 
        (TOS) value or mask."
    SYNTAX          OCTET STRING (SIZE (1))

XtmRange ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "A range of values.  A contiguous range may be specified
        using a dash (-).  Thus a contiguous range of integers may
        be expressed as 'lowValue-highValue', e.g. 5-10.  A discontiguous
        range may be specified using a comma (,) separated list.
        For example, '1,12,55'.  Contiguous and discontiguous ranges
        may be combined, as in '1,5-10,12,55'.

        When set, values are added to the existing XtmRange.  For 
        example, setting '100-200' to the existing range of '1,5-10,12,55'
        yields the value '1,5-10,12,55,100-200'.

        Values may be deleted from a list using the minus (-) symbol.
        For example, setting range consisting of '1,5-10,12,55,100-200'
        to '-55,-150' yields the range string '1,,5-10,12,100-149,151-200'.
        String values may be completely deleted by setting them to the
        NULL string.

        This textual-convention may be used on a variety of data types,
        including integers, integer enumerations, IpAddresses, and 
        OCTET STRINGs."
    SYNTAX          DisplayString


-- ================================================================
-- Object Definitions
-- ================================================================

--
-- The Interface Information Table
--


--
-- The Class Definition/Status Table
--

xtmClassTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XtmClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table is a 'flattened' version of a hierarchical class
        trees that specify the bandwidth allocation for the CBQ
        interfaces of the system.

        Each tree is rooted at an interface. A class may either be a
        leaf, meaning it has no children, or it may be an interior
        class which has children. As packets are forwarded out an
        interface, they are compared to the 'flow definition' of each
        class down the tree until a matching leaf is found or until
        all classes are traversed. Once a matching class is found, the
        packet is transmitted or not based on the constraints
        configured for the class, most importantly the allocated
        bandwidth as identified by xtmClassRate. If no matching class
        is found, the packet is dropped.

        The 'flow definition' for a class can be defined based on
        inclusive ranges of the following packet fields:
            o Source IP Address (or a domain name)
            o Destination IP Address (or a domain name)
            o Protocol above layer 3 (e.g., UDP, TCP, ICMP, etc.)
            o Source Port (which identifies service, e.g., FTP,
              Telnet, SMTP, etc.)
            o Destination Port

        It is important that packets only match zero or one traffic
        class. In order for this to be true, certain rules must be
        enforced when classes are defined. Specifically, all 'sibling'
        classes must be defined using the same criteria. Also,
        children must use criteria not already specified by one of
        their ancestors or they must specify a subrange of an already
        specified criteria. Therefore, this tree would be legal:

        interface 1
            subnet A
                protocol UDP
                    port SNMP
                protocol TCP
            subnet B

        But this tree would be illegal:

        interface 2
            subnet A
                subnet B (illegal -- not subrange of parent)
            protocol TCP (illegal -- different criteria than sibling)" 
    ::= { xtmObjects 2 }

xtmClassEntry OBJECT-TYPE
    SYNTAX      XtmClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single traffic class. Traffic classes are
        identified by their associated interface's ifIndex and their
        name. (Which means class names must be unique for a particular
        interface.)

        Traffic classes can be created and destroyed using this
        table's xtmClassRowStatus object. A class cannot be used by
        the run-time system (xtmClassRowStatus = 'active(1)') if it
        does not follow the rules listed in the DESCRIPTION of the
        previous object. In this case, the xtmClassRowStatus will
        remain 'notReady(3)' and the xtmClassOperStatus will be
        'downConflict(3)'.

        Also, in order to become active, the user must have specified
        a valid value for xtmClassParent and xtmClassRate. All other
        settable objects may be left at their default values.

        Finally, the following objects cannot be modified once the row
        is active: xtmClassParent, and xtmClassQueueElasticityFactor."
    INDEX { ifIndex, xtmClassName }
    ::= { xtmClassTable 1 }

XtmClassEntry ::= SEQUENCE {
    xtmClassName                    DisplayString,
    xtmClassParent                  DisplayString,

    -- Configuration Parameters
    xtmClassRate                    XtmBitRate,
    xtmClassBounded                 TruthValue,
    xtmClassPriority                Integer32,

    -- Status        
        
    xtmClassOperStatus              INTEGER,
    xtmClassOperMsg                 DisplayString,
    xtmClassBwUse                   INTEGER,
    xtmClassUnsatisfied             TruthValue,
    xtmClassQueueSize               Gauge32,
    xtmClassRowStatus               RowStatus,

    -- Max Bandwidth 

    xtmClassMaxRate                 XtmBitRate,

    -- AutoClass


    xtmClassPeerClassificationOrder Integer32,
    -- New "Flow" definition.

    xtmClassSrcIpAddresses          XtmRange,
    xtmClassDestIpAddresses         XtmRange,
    xtmClassSrcPorts                XtmRange,
    xtmClassDestPorts               XtmRange,
    xtmClassProtocols               XtmRange,
    xtmClassApplications            XtmRange,
    xtmClassClassificationTos       XtmRange,
    xtmClassSrcDomainNames          XtmRange,
    xtmClassDestDomainNames         XtmRange,
    xtmClassOperator                INTEGER

}

xtmClassName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..64))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A user-defined name for the traffic class. This is the unique
        identifier for the class within the scope of the
        interface. For example, the class that defines the IP address
        range for a particular customer might be 'Customer Fred Co.'"
    ::= { xtmClassEntry 1 }

xtmClassParent OBJECT-TYPE          
    SYNTAX      DisplayString (SIZE (1..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object will have one of the following values:
            - the value of xtmClassName for the parent class in the
              hierarchy,
            - the value 'interface' if the class is directly under
              the interface, which is the root of the tree, or
            - the value 'orphan' if the class is defined but not yet
              inserted into the tree.

        If a parent name is specified, the row cannot become active
        (have its xtmClassRowStatus set to 'active(1)' unless the
        parent is valid and is itself active.

        Note that an interface may have several traffic classes with
        an xtmClassParent of 'interface'.

        Note also that an 'orphan' class cannot become 'active(1)' -
        it must first have a valid parent specified."
    DEFVAL      { "interface" }
    ::= { xtmClassEntry 2 }



xtmClassRate OBJECT-TYPE      
    SYNTAX      XtmBitRate
    UNITS       "bits per second"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A fraction of the bandwidth of the root interface to be
        allocated to this traffic class. Note that specifying 0
        bits/second effectively filters all traffic that matches this
        class' flow specification. Also note that the sum of bit rates
        for all classes defined under the same class must be less
        than or equal to xtmClassRate of the parent."
    DEFVAL      { 0 }
    ::= { xtmClassEntry 13 }

xtmClassBounded OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of this object is 'true(1)' if the class is bounded
        (can't 'borrow' bandwidth from its parent class) and
        'false(2)' otherwise."
    DEFVAL      { false }
    ::= { xtmClassEntry 14 }

xtmClassPriority OBJECT-TYPE        
    SYNTAX      Integer32 (0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The priority for this class. The smaller the value, the
        higher the priority. Delay-sensitive flows (such as video or
        audio) should be given higher priority values."
    DEFVAL      { 3 }
    ::= { xtmClassEntry 15 }


xtmClassOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    up(1),
                    down(2),
                    downConflict(3),
                    autoClassActive(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The actual operational status of the traffic class. The value
        'up(1)' means this traffic class is in use, the value
        'down(2)' indicates the traffic class is not in use either due
        to an internal problem or because it (or an ancestor) is
        administratively disabled, and the value 'downConflict(3)'
        indicates the class definition conflicts with those of its
        siblings. The value autoClassActive(4) means that the class is
        a dynamically created AutoClass, which may not be modified in any
        way until it is saved to Non-Volatile configuration memory. 
        After an AutoClass is saved to NVRAM, it's operational status 
        will transistion to up(1)."
    ::= { xtmClassEntry 22 }
                    
xtmClassOperMsg OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational message associated with the operational
        status.  The message usually provides additional information
        that may not be obvious through the operational status."
    ::= { xtmClassEntry 23 }
                    
xtmClassBwUse OBJECT-TYPE     
    SYNTAX      INTEGER {
                    atLimit(1),
                    underLimit(2),
                    overLimit(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An indication of whether this traffic class has used its
        allocated bandwidth (as indicated by xtmClassPercent), has not
        used its allocated bandwidth or has used more than its
        allocated bandwidth and is therefore 'atLimit(1)',
        'underLimit(2)', or 'overLimit(3)' respectively."
    ::= { xtmClassEntry 24 }

xtmClassUnsatisfied OBJECT-TYPE       
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An indication of whether this traffic class is
        'unsatisfied'. The value of this object is 'true(1)' if it is
        underLimit and has a persistent backlog, meaning it has
        packets waiting in its queue. The value is 'false(1)'
        otherwise. Note that a class can be considered satisfied if it
        is underLimit and it just hasn't had anything to transmit. 

        The presence of an unsatisfied class indicates that some other
        class is overLimit and 'hogging' bandwidth. Persistently
        unsatisfied classes indicate that tuning some of the
        parameters (such as xtmClassMaxIdle or xtmClassBounded) may be
        necessary."
    ::= { xtmClassEntry 25 }

xtmClassQueueSize OBJECT-TYPE       
    SYNTAX      Gauge32 (0..2048)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The size of the queue associated with this traffic
        class. This is the maximum number of packets that can be in
        the queue, not the number that are currently queued (see
        xtmClassStatsQueuedPkts)."
    ::= { xtmClassEntry 26 }

xtmClassRowStatus OBJECT-TYPE       
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Traffic classes are created and delected using this object
        (using the conventions described in RFC1903)."
    ::= { xtmClassEntry 27 }

xtmClassMaxRate OBJECT-TYPE      
    SYNTAX      XtmBitRate
    UNITS       "bits per second"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum bandwidth the class may achieve, including
        bandwidth allocated to this class, and any bandwidth that
        may be borrowed. A value of zero (0) indicates that this
        feature is not being used. The xtmClassMaxRate must be set 
        to a value higher than the xtmClassRate, but may also exceed
        the parent class's xtmClassRate."
    DEFVAL      { 0 }
    ::= { xtmClassEntry 28 }

xtmClassPeerClassificationOrder OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A positive integer representing the classification order 
        of peers within the classification hierarchy.  For example,
        when creating three children under the 'root' class the
        packet classifier checks incoming packets againts classification
        parameters from left to right in the order in which the children
        were created.  Each peer (aka 'sibling') is assigned an xtmClass-
        PeerClassificationOrder of 100 by default, as shown below.

                            +_______+
                            | root  |
                            | class |
                            +_______+
                           /    |    \
                          /     |     \
                         /      |      \
                        /       |       \
                       /        |        \
                      /         |         \
                 +_______+  +_______+  +_______+
                 |   A   |  |   B   |  |   C   |
                 | class |  | class |  | class |
                 |  100  |  |  100  |  |  100  | (peer classification order)
                 +_______+  +_______+  +_______+

        In the figure above, classification order proceeds from A to B
        to C.  In order to alter this order, this object may be modified.
        For example, to change the order to C, B A one might assign
        an xtmClassPeerClassificationOrder of 50 to class C, and an
        xtmClassPeerClassificationOrder of 150 to class A, resulting in
        the ordered tree shown below.

                            +_______+
                            | root  |
                            | class |
                            +_______+
                           /    |    \
                          /     |     \
                         /      |      \
                        /       |       \
                       /        |        \
                      /         |         \
                 +_______+  +_______+  +_______+
                 |   C   |  |   B   |  |   A   |
                 | class |  | class |  | class |
                 |   50  |  |  100  |  |  150  | (peer classification order)
                 +_______+  +_______+  +_______+

        "
    DEFVAL      { 100 }
    ::= { xtmClassEntry 44 }


xtmClassSrcIpAddresses OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of IP source addresses that match this class. 
        An all zeros value means 'any source address'."
    ::= { xtmClassEntry 45 }

xtmClassDestIpAddresses OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of IP destination addresses that match this class. 
        An all zeros value means 'any destination address'."
    ::= { xtmClassEntry 46 }

xtmClassProtocols OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of IP protocols that match this class. The value '0' 
        'any protocol'.

        Numeric strings, character strings, and combinations of the two
        may be used. Valid strings include:

        Numeric String       Character String
        ______________       ________________
              1              icmp
              6              tcp
             17              udp
             89              ospf
        "
    ::= { xtmClassEntry 47 }

xtmClassSrcPorts OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of UDP or TCP source ports that match this class. 
        The value '0' 'any port'.

        Numeric strings, character strings, and combinations of the two
        may be used. Valid strings include, but are not limited to the
        following:

        Numeric String       Character String
        ______________       ________________
             20              ftpdata
             21              ftp
             23              telnet
             25              smtp
             53              domain
             67              bootps
             68              bootpc
             69              tftp
             70              gopher
             79              finger
             80              http
            119              nntp
            123              ntp
            161              snmp
            162              snmptrap
            179              bgp
        "
    ::= { xtmClassEntry 48 }

xtmClassDestPorts OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of UDP or TCP destination ports that match this class. 
        The value '0' 'any port'.

        Numeric strings, character strings, and combinations of the two
        may be used. Valid strings include, but are not limited to the
        following:

        Numeric String       Character String
        ______________       ________________
             20              ftp_data
             21              ftp
             23              telnet
             25              smtp
             53              domain
             67              bootps
             68              bootpc
             69              tftp
             70              gopher
             79              finger
             80              http
            119              nntp
            123              ntp
            161              snmp
            162              snmptrap
            179              bgp
        "
    ::= { xtmClassEntry 49 }

xtmClassApplications OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The application level protocol of the class.

        Application classification allows you to classify based on the
        application level protocol.  Each application has a corresponding
        'Established' enumeration which specifies that communication can 
        not be initiated through this class.  For example, 'telnetEstablished'
        specifies that telnet connections can not pass through this class.
        'Established' enumerations provide stateful firewall capabily.  For
        example, in the following configuration, telnet configurations can
        only be initiated from Host B.  Host A can not initiate a telnet
        connection.
                    +__________________________________+
                    |                                  |
        Host A _____| telnet class    telnetEstablished|_____ Host B
                    | on cbq.1        class on cbq.2   |
                    +__________________________________+

        Numeric strings, character strings, and combinations of the two
        may be used. Valid strings include the following:

        Numeric String       Character String
        ______________       ________________
              1              allTcp
              2              allTcpEstablished
              3              allUdp
              4              allUdpEstablished
              5              ftp
              6              ftpEstablished
              7              telnet
              8              telnetEstablished
              9              http
             10              httpEstablished
             11              dns
             12              dnsEstablished
             13              tftp
             14              tftpEstablished
             15              snmp
             16              snmpEstablished
             17              httpSSL
             18              httpSSLEstablished
             19              smtp
             20              smtpEstablished
             21              bgp
             22              bgpEstablished
             23              slaProbe
             24              slaProbeEstablished
        "
    ::= { xtmClassEntry 50 }

xtmClassClassificationTos OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The range of IPv4 Tos Octet values that match this class."
    ::= { xtmClassEntry 51 }

xtmClassSrcDomainNames OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A list of domain names which are to be dynamically included
        in the range of source IP addresses."
    ::= { xtmClassEntry 52 }

xtmClassDestDomainNames OBJECT-TYPE
    SYNTAX      XtmRange
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A list of domain names which are to be dynamically included
        in the range of destination IP addresses."
    ::= { xtmClassEntry 53 }

xtmClassOperator OBJECT-TYPE
    SYNTAX      INTEGER {
                    and(1),
                    or(2)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An operator applied to all classification parameters of this
        class.  A value of 'and' indicates that packets must match all 
        classification parameters specified by the class in order to
        be classified within the class.  A value of 'or' indicates that
        packets must match any one of the configured classification
        parameters specified by the class in order to be classified 
        within the class.

        For example, consider a class with classification parameters 
        xtmClassSrcIpAddresses of '198.202.232.10' and xtmClassProtocol 
        of 'udp'.

        When xtmClassOperator is 'and', packets with IP source addresses
        of 198.202.232.10 and IP protocol of udp are classified within
        this class.  Whe xtmClassOperator is 'or', packets with IP source
        addresses of 198.202.232.10 or IP protocol or udp are classified
        within this class."
    DEFVAL      { and }
    ::= { xtmClassEntry 54 }



END


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

EXTREME-V2TRAP-MIB DEFINITIONS ::= BEGIN

    IMPORTS 
    MODULE-IDENTITY         FROM SNMPv2-SMI	
    sysDescr,sysUpTime, ifDescr    FROM RFC1213-MIB
    extremeCurrentTemperature      FROM EXTREME-SYSTEM-MIB
    Integer32		           FROM SNMPv2-SMI
    ClientAuthType, extremenetworks                 FROM EXTREME-BASE-MIB
    sysDescr,
    sysUpTime,
    ifDescr,
    ifIndex,
    DisplayString                          FROM RFC1213-MIB
    extremeCpuTaskUtilPair,
    extremeCpuAggregateUtilization,
    extremeCpuUtilRisingThreshold,
    extremeFanNumber,
    extremePowerSupplyNumber,
    extremeHealthCheckErrorType,
    extremeSlotNumber,     
    extremeHealthCheckAction,
    extremeHealthCheckMaxRetries,    
    extremeMasterMSMSlot,
    extremeMsmFailoverCause,                
    extremeSlotModuleInsertedType,
    extremeSlotModuleState,
    extremeSlotModuleConfiguredType
				           FROM EXTREME-SYSTEM-MIB
    extremeNPModuleProcessorState          FROM EXTREME-NP-MIB
    extremeEsrpGroup,
    extremeEsrpState                       FROM EXTREME-ESRP-MIB
    extremeVlanIfIndex,
    extremeVlanIfDescr                     FROM EXTREME-VLAN-MIB
    ifAlias                                FROM IF-MIB
    extremeIQosProfileIndex                FROM EXTREME-QOS-MIB
    bgpPeerRemoteAddr                      FROM BGP4-MIB
    extremeEapsName,
    extremeEapsMode,
    extremeEapsState,
    extremeEapsPrevState,
    extremeEapsFailedFlag,
    extremeEapsPrimaryStatus,
    extremeEapsSecondaryStatus,
    extremeEapsLastStatusChange,
    extremeEapsStatusTrapCount,
    extremeEapsLastConfigurationChange,
    extremeEapsSharedPortIfIndex,
    extremeEapsSharedPortLinkId,
    extremeEapsSharedPortState,
    extremeEapsSharedPortNbrStatus,
    extremeEapsSharedPortRootBlockerStatus,
    extremeEapsSharedPortRootBlockerId,
    EapsRingPort                    FROM EXTREME-EAPS-MIB
    extremePethSlotPSUActive,
    extremePethSlotMainPseIndex            FROM EXTREME-POE-MIB
	NOTIFICATION-TYPE,
    OBJECT-TYPE,
    IpAddress                              FROM SNMPv2-SMI
    MacAddress,
    TimeStamp                              FROM SNMPv2-TC
    bgpM2PeerRemoteAddr,
    bgpM2PeerRemoteAddrType,
    bgpM2PeerLocalAddr,
    bgpM2PeerLocalAddrType                 FROM BGP4-V2-MIB
    extremeEdpPortIfIndex,           
    extremeEdpNeighborId,
    extremeEdpEntryAge                     FROM EXTREME-EDP-MIB
    extremeVlanIfDescr                  FROM EXTREME-VLAN-MIB
    extremeLacpGroup,
    extremeLacpMemberPort               FROM EXTREME-LACP-MIB;

    extremeV2Traps MODULE-IDENTITY
            LAST-UPDATED "201301161545Z"
            ORGANIZATION "Extreme Networks, Inc."
            CONTACT-INFO "www.extremenetworks.com"
            DESCRIPTION "Extreme V2c traps"
        ::= { extremenetworks 4 }

    extremeV1Traps     OBJECT IDENTIFIER
        ::= { extremenetworks 0 }

    extremeCoreSCTraps     OBJECT IDENTIFIER
    ::= { extremeV2Traps 1 }

    extremeCoreSCTrapPrefix    OBJECT IDENTIFIER
    ::= { extremeCoreSCTraps 0 }

    extremeHealthCheckFailed NOTIFICATION-TYPE
                OBJECTS {    
                   sysDescr, 
                  extremeSlotNumber, 
             extremeHealthCheckErrorType,
             extremeHealthCheckAction, 
             extremeHealthCheckMaxRetries
                    }
            STATUS current
                DESCRIPTION
                "Cpu HealthCheck has failed."
                ::= { extremeCoreSCTrapPrefix 1 }

-- Aggregate CPU utilization Trap definition
--
    extremeCpuUtilizationRisingTrap NOTIFICATION-TYPE
            OBJECTS   { extremeCpuTaskUtilPair,
                          extremeCpuAggregateUtilization,
                          extremeCpuUtilRisingThreshold}
            STATUS    current
            DESCRIPTION "CPU Utilizations Rising trap generated when
                        extremeCpuUtilRisingThreshold is touched/crossed 
                        This trap is supported only in ExtremeWare."
            ::= { extremeCoreSCTrapPrefix 2 }

    extremeCpuUtilizationFallingTrap NOTIFICATION-TYPE
            OBJECTS   { extremeCpuTaskUtilPair,
                          extremeCpuAggregateUtilization,
                          extremeCpuUtilRisingThreshold}
            STATUS    current
            DESCRIPTION "CPU Utilization Falling Trap is generated when the
                    extremeCpuAggregateUtilization falls below 80% of the
                    extremeCpuUtilRisingThreshold
                    This trap is supported only in ExtremeWare."
            ::= { extremeCoreSCTrapPrefix 3 }

    extremeProcessorStateChangeTrap NOTIFICATION-TYPE
            OBJECTS {sysDescr,               
                     extremeSlotNumber,
                     extremeNPModuleProcessorState}
            STATUS      current
            DESCRIPTION
            "Failed processor on module has been detected."
            ::= { extremeCoreSCTrapPrefix 4 }

    extremeMsmFailoverTrap NOTIFICATION-TYPE
            OBJECTS {sysDescr,
                     extremeMasterMSMSlot,
                     extremeMsmFailoverCause}
            STATUS      current
            DESCRIPTION
            "MSM failover occurred."
        ::= { extremeCoreSCTrapPrefix 5 }


    extremeEsrpTimedOutFailedOverMaster NOTIFICATION-TYPE
            OBJECTS {sysDescr, 
                     extremeVlanIfIndex,
                     extremeVlanIfDescr,                     
                     extremeEsrpState}
            STATUS      current
            DESCRIPTION
            "The master node performed a hitless MSM failover, but the 
            master failed to resume normal operation within the reelect timeout.
            Thus, a new master (this switch) was elected." 
        ::= { extremeCoreSCTrapPrefix 6 }


-- Triumph support
--        

      extremeRateLimitExceededTrap NOTIFICATION-TYPE
            OBJECTS {extremeRateLimitExceededTrapType,
                     extremeRateLimitExceededTrapIndicator,
                     ifIndex ,
                     extremeIQosProfileIndex,
                     extremeExceededByteCount}
            STATUS      current
            DESCRIPTION
            "Committed Information Rate exceeded."
        ::= { extremeCoreSCTrapPrefix 7 }
        
      extremeRateLimitExceededTrapType OBJECT-TYPE
                SYNTAX INTEGER {
			exceededCIR(1),
			droppedBytes(2)
                        }
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                "The trap condition being reported."
            ::= { extremeRateLimitExceededTrap 1 }
            
      extremeRateLimitExceededTrapIndicator OBJECT-TYPE
                SYNTAX INTEGER {
			clear(0),
			set(1)
                        }
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                "The trap condition being reported."
            ::= { extremeRateLimitExceededTrap 2 }
            
      extremeExceededByteCount OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                "The number of bytes that exceeded the rate."
            ::= { extremeRateLimitExceededTrap 4 }

-- end Triumph support
--

    extremeBgpTraps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 2 }

    extremeBgpTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeBgpTraps 0 }

        extremeBgpPrefixReachedThreshold NOTIFICATION-TYPE
            OBJECTS { bgpPeerRemoteAddr}
            STATUS  current
            DESCRIPTION
                    "The extremeBgpPrefixReachedThreshold notification is generated
                     when the number of prefixes received over this 
                     peer session reaches the threshold limit."
                ::= { extremeBgpTrapsPrefix 1 }

        extremeBgpPrefixMaxExceeded NOTIFICATION-TYPE
            OBJECTS { bgpPeerRemoteAddr}
            STATUS  current
            DESCRIPTION
                    "The extremeBgpPrefixMaxExceeded notification is generated
                     when the number of prefixes received over this 
                     peer session reaches the maximum configured limit."
                ::= { extremeBgpTrapsPrefix 2 }

    extremeSecurityTraps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 3 }

    extremeSecurityTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeSecurityTraps 0 }


        extremeMacLimitExceeded NOTIFICATION-TYPE
                            OBJECTS { extremeMacSecurityVlanIfIndex,
                                      extremeMacSecurityVlanDescr, 
                                      extremeMacSecurityMacAddress,
                                      extremeMacSecurityPortIfIndex,
                                      extremeMacSecurityVlanId }
            STATUS      current
        DESCRIPTION
                "This trap will be generated, for a port on which limit-learning has been
                 configured,  when a new MAC address exceeding the limit is learnt on that
                 port."
            ::= { extremeSecurityTrapsPrefix 1 }

        extremeUnauthorizedPortForMacDetected NOTIFICATION-TYPE
                   OBJECTS { extremeMacSecurityVlanIfIndex, 
                             extremeMacSecurityVlanDescr, 
                             extremeMacSecurityVlanId,
                             extremeMacSecurityMacAddress, 
                             extremeMacSecurityPortIfIndex }
                             
            STATUS      current
        DESCRIPTION
            "This trap will be generated when a MAC Address is learnt on a port on which 
                    it is not not authorized. This will happen when the MAC address is statically 
                    configured  as a 'secure mac' on some other port(s)."
            ::= { extremeSecurityTrapsPrefix 2 }

        extremeMacDetectedOnLockedPort NOTIFICATION-TYPE
                   OBJECTS { extremeMacSecurityVlanIfIndex, 
                             extremeMacSecurityVlanDescr, 
                             extremeMacSecurityVlanId,
                             extremeMacSecurityMacAddress, 
                             extremeMacSecurityPortIfIndex }
                             
            STATUS      current
        DESCRIPTION
            "This trap will be generated on a port for which lock-learning has been 
            configured, when a new MAC address is learnt on that port."
            ::= { extremeSecurityTrapsPrefix 3 }

                
                extremeMacSecurityVlanIfIndex OBJECT-TYPE
            SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                "The ifIndex of the VLAN on which the MAC address was received."
            ::= { extremeSecurityTraps 1 }

                extremeMacSecurityVlanDescr OBJECT-TYPE
                 SYNTAX DisplayString (SIZE(0..32))
                 MAX-ACCESS accessible-for-notify
                 STATUS current
                 DESCRIPTION
                     "The description(name) of the VLAN on which the MAC address was received."
            ::= { extremeSecurityTraps 2 }

                extremeMacSecurityMacAddress  OBJECT-TYPE
                 SYNTAX MacAddress
                 MAX-ACCESS accessible-for-notify
                 STATUS current
                 DESCRIPTION
                     "The received MAC address."
            ::= { extremeSecurityTraps 3 }

                extremeMacSecurityPortIfIndex  OBJECT-TYPE
         SYNTAX Integer32 
                 MAX-ACCESS accessible-for-notify
                 STATUS current
                 DESCRIPTION
                     "The ifIndex of the port on which the MAC address was received."
            ::= { extremeSecurityTraps 4 }

                extremeMacSecurityVlanId  OBJECT-TYPE
         SYNTAX Integer32
                 MAX-ACCESS accessible-for-notify
                 STATUS current
                 DESCRIPTION
                     "The VLAN ID of the VLAN on which the MAC address was received."
            ::= { extremeSecurityTraps 5 }
                
                
            extremeNetloginUserLogin NOTIFICATION-TYPE
            OBJECTS {     extremeNetloginStationMac,
                        extremeNetloginStationAddr,
                        extremeNetloginPortIfIndex,
                        extremeNetloginAuthType,
                        extremeNetloginSystemTime,
                        extremeNetloginUser, 
                        extremeNetloginSrcVlan,
                        extremeNetloginDestVlan,
                        extremeNetloginSessionStatus,
                        extremeNetloginAuthDataBase,
                        extremeNetloginMoveFromVlanList,
                        extremeNetloginMoveToVlanList
                    }
            STATUS      current
            DESCRIPTION
            "This trap will be generated when a netlogin supplicant passes 
            authentication and logs in successfully into the network."
            ::= { extremeSecurityTrapsPrefix 4}



            extremeNetloginUserLogout NOTIFICATION-TYPE
            OBJECTS {     extremeNetloginStationMac,
                        extremeNetloginStationAddr,
                        extremeNetloginPortIfIndex,
                        extremeNetloginAuthType,
                        extremeNetloginSystemTime,
                        extremeNetloginUser, 
                        extremeNetloginSrcVlan,
                        extremeNetloginDestVlan,
                        extremeNetloginSessionStatus,
                        extremeNetloginMoveFromVlanList,
                        extremeNetloginMoveToVlanList
                    }
            STATUS      current
            DESCRIPTION
            "This trap will be generated when a netlogin supplicant logs out. 
            This trap is meant to notify logout event only for already 
            authenticated and logged in supplicant. "
            ::= { extremeSecurityTrapsPrefix 5}


            extremeNetloginAuthFailure NOTIFICATION-TYPE
            OBJECTS {     extremeNetloginStationMac,
                        extremeNetloginStationAddr,
                        extremeNetloginPortIfIndex,
                        extremeNetloginAuthType,
                        extremeNetloginSystemTime,
                        extremeNetloginUser, 
                        extremeNetloginSrcVlan,
                        extremeNetloginDestVlan,
                        extremeNetloginSessionStatus,
                        extremeNetloginMoveFromVlanList,
                        extremeNetloginMoveToVlanList
                    }
            STATUS      current
            DESCRIPTION
            "This trap will be generated upon authentication failure for a 
             netlogin supplicant"
            ::= { extremeSecurityTrapsPrefix 6 }

            extremeGratuitousArpViolation NOTIFICATION-TYPE
            OBJECTS { extremeArpSecurityVlanIfIndex,
                      extremeArpSecurityVlanDescr,
                      extremeArpSecurityPortIfIndex,
                      extremeArpSecurityIpAddr,
                      extremeArpSecurityMacAddress }

            STATUS      current
            DESCRIPTION
                "This trap will be generated on a valn for which gratuitous ARP protection has been
                 configured, when a gratuitous ARP does not match the internal static or secured IP<->MAC binding."
            ::= { extremeSecurityTrapsPrefix 7 }

            extremeNetloginStationMac  OBJECT-TYPE
            SYNTAX  MacAddress
            MAX-ACCESS accessible-for-notify
              STATUS       current
             DESCRIPTION
            "MAC address of netlogin supplicant"
            ::= { extremeSecurityTraps 6 }

            extremeNetloginStationAddr  OBJECT-TYPE
            SYNTAX  IpAddress
            MAX-ACCESS accessible-for-notify
              STATUS       current
             DESCRIPTION
            "MAC address of netlogin supplicant"
            ::= { extremeSecurityTraps 7 }


            extremeNetloginPortIfIndex   OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS accessible-for-notify
              STATUS       current
             DESCRIPTION
            "IfIndex of authenticator port to which the netlogin supplicant is 
            connected"
            ::= { extremeSecurityTraps 8}

            extremeNetloginAuthType  OBJECT-TYPE
            SYNTAX	     ClientAuthType
            MAX-ACCESS accessible-for-notify
              STATUS       current
             DESCRIPTION
            "IF supplicant is authenticated using remote authentication server
            as RADIUS or locally using authenticator local user database"
            ::= { extremeSecurityTraps 9}

            extremeNetloginSystemTime OBJECT-TYPE
            SYNTAX  TimeStamp
            MAX-ACCESS accessible-for-notify
            STATUS  current
            DESCRIPTION
                "The time when a netlogin event occurs and  is 
                meaningful for accounting purposes."
        ::= { extremeSecurityTraps 10}

        extremeNetloginUser  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..64))
        MAX-ACCESS accessible-for-notify
          STATUS       current
         DESCRIPTION
        "Information containing type of session as NETLOGIN or DOT1X
        concatenated with userName  i,e  '[NETLOGIN | DOT1X]:<username>' "
        ::= { extremeSecurityTraps 11}

        extremeNetloginSrcVlan  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..64))
        MAX-ACCESS accessible-for-notify
          STATUS       current
         DESCRIPTION
        "Upon successful login this vlan will represent the one in which 
        user resides before authentication while upon logout this vlan will 
        be the one in which user resides before logout. If the user was authenticated
        on multiple vlans (using the Extreme-Netlogin-Extended vlan vendor specific
        attribute VSA 211) then this object represents the untagged vlan (if present) or the
        tagged vlan with the lowest tag from the extremeNetloginMoveFromVlanList."
        ::= { extremeSecurityTraps 12}

        extremeNetloginDestVlan  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..64))
        MAX-ACCESS accessible-for-notify
          STATUS       current
         DESCRIPTION
        "The description (name) of the VLAN in which user moves after 
        successful login or logout. If the user was authenticated on multiple vlans
        (using the Extreme-Netlogin-Extended vlan vendor specific attribute VSA 211) then this
        object represents the untagged vlan (if present) or the tagged vlan with the
        lowest tag from the extremeNetloginMoveToVlanList."
        ::= { extremeSecurityTraps 13}
        
        extremeNetloginSessionStatus   OBJECT-TYPE
         SYNTAX       INTEGER {
                        success (1),
                        sessionReset (2),
                         fDBAgingInitiatedLogout    (3),
                         userInitiatedLogout    (4),
                        sessionRefreshInitiatedLogout (5),
                        authenticationFailure  (6),
				        remoteAuthenticationServerFailure (7),
                        fDBDeleteInitiatedLogout (8),
                        linkDownInitiatedLogout (9),
						reauthenticationFailure (10),
                        successWithRestrictedAccess (11),
                        successWithTimeLimitedAccess (12)
                }
         MAX-ACCESS accessible-for-notify
           STATUS       current
           DESCRIPTION
        "
        -success (1) 
            Successful login
         -sessionReset (2)
            Administrator has initialized Authentication State.
        -fDBAgingInitiatedLogout (3)
             Logout initiated due to FDB aging of client MAC
        -userInitiatedLogout(4)
            Graceful logout attempt from user
        -sessionRefreshInitiatedLogout (5)
            (Valid for web-based mode only) Logout initiated by 
            session-refresh mechanism.
       -authenticationFailure(6)
            Authentication Failure
        -remoteAuthenticationServerFailure (7)
            Remote Authentication server Failure.
        -reauthenticationFailure (10)
            Dot1X reauthentication failure.
        -successWithRestrictedAccess (11)
            802.1X supplicant will be authenticated but with restricted network access
        -successWithTimeLimitedAccess (12)
            802.1X supplicant will be given full network access for a limited time period
        "
        ::= { extremeSecurityTraps 14 }
        
    extremeNetloginAuthDataBase OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..64))
        MAX-ACCESS accessible-for-notify
            STATUS current
        DESCRIPTION
        "The last authentication database used by the netlogin client to get authenticated."
        ::= {extremeSecurityTraps 20}

    extremeNetloginMoveFromVlanList OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..256))
        MAX-ACCESS accessible-for-notify
            STATUS current
        DESCRIPTION
        "Upon successful login extremeNetloginMoveFromVlanList will represent the vlans in
        which user resides before authentication and upon logout it represents the vlans
        in which the user resides before unauthentication."
        ::= {extremeSecurityTraps 21}

    extremeNetloginMoveToVlanList OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..256))
        MAX-ACCESS accessible-for-notify
            STATUS current
        DESCRIPTION
        "Upon successful login extremeNetloginMoveToVlanList will represent the vlans in
        which user resides after authentication and upon logout it represents the vlans
        in which the user resides after unauthentication."
        ::= {extremeSecurityTraps 22} 
        
    extremeArpSecurityVlanIfIndex OBJECT-TYPE
         SYNTAX Integer32
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The ifIndex of the VLAN on which the ARP packet was received."
         ::= { extremeSecurityTraps 15 }

     extremeArpSecurityVlanDescr OBJECT-TYPE
         SYNTAX DisplayString (SIZE(0..32))
         MAX-ACCESS accessible-for-notify
         STATUS current
         DESCRIPTION
         "The description(name) of the VLAN on which the ARP packet was received."
         ::= { extremeSecurityTraps 16 }

    extremeArpSecurityPortIfIndex  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "The ifIndex of the port on which the ARP packet was received."
        ::= { extremeSecurityTraps 17 }

    extremeArpSecurityIpAddr  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS accessible-for-notify
        STATUS       current
        DESCRIPTION
        "source IP address of the ARP packet"
        ::= { extremeSecurityTraps 18 }

    extremeArpSecurityMacAddress  OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
        "source MAC address in the ARP packet"
        ::= { extremeSecurityTraps 19 }


    extremeNMSTraps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 4 }

    extremeNMSTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeNMSTraps 0 }

        extremeNMSDeviceAddress  OBJECT-TYPE
          SYNTAX IpAddress
          MAX-ACCESS  accessible-for-notify
          STATUS current
          DESCRIPTION
              "The IP address of the device modified by Extreme's Network Management Application."
      ::= { extremeNMSTraps 1 }

      extremeNMSInventoryChanged NOTIFICATION-TYPE
                OBJECTS { extremeNMSDeviceAddress }
            STATUS      current
        DESCRIPTION
		    "This trap is sent by Extreme's Network Management Applications when a change
             in its inventory database occurs. This trap is not send by a router or switch."
        ::= { extremeNMSTrapsPrefix 1 }

          extremeNMSTopologyChanged NOTIFICATION-TYPE
            STATUS      current
        DESCRIPTION
		    "This trap is sent by Extreme's Network Management Applications when a change 
             in its Topology database occurs. This trap is not send by a router or switch."
        ::= { extremeNMSTrapsPrefix 2 }

     extremeElrpTraps       OBJECT IDENTIFIER
                ::= { extremeV2Traps 6 }

     extremeElrpTrapsPrefix  OBJECT IDENTIFIER
          ::= { extremeElrpTraps 0 }

     extremeElrpVlanLoopDetected NOTIFICATION-TYPE
            OBJECTS { extremeVlanIfDescr}
            STATUS  current
            DESCRIPTION
                     " The extremeElrpVlanLoopDetected notification is generated
                       when the ELRP client detects a loop in the vlan."
                ::= { extremeElrpTrapsPrefix 1 }
    
    extremeEapsTraps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 7 }

    extremeEapsTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeEapsTraps 0 }

        extremeEapsStateChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName, 
            extremeEapsMode, 
            extremeEapsPrevState,
            extremeEapsState,
            extremeEapsFailedFlag,
            extremeEapsPrimaryStatus,
            extremeEapsSecondaryStatus}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsStateChange notification is generated
                     when the EAPS domain has a state change."
                ::= { extremeEapsTrapsPrefix 1 }

        extremeEapsFailTimerExpFlagSet NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName, 
            extremeEapsMode, 
            extremeEapsPrevState,
            extremeEapsState}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsFailTimerExpFlagSet notification is 
                     generated when the EAPS domain's fail timer expires
                     for the first time, while its state is not in Fail state."
                ::= { extremeEapsTrapsPrefix 2 }

        extremeEapsFailTimerExpFlagClear NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName, 
            extremeEapsMode, 
            extremeEapsPrevState,
            extremeEapsState,
            extremeEapsFailedFlag,
            extremeEapsPrimaryStatus,
            extremeEapsSecondaryStatus}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsFailTimerExpFlagClear notification is 
                     generated when the EAPS domain's Fail timer expired flag 
                     is cleared."
                ::= { extremeEapsTrapsPrefix 3 }


        extremeEapsLinkDownRingComplete NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName, 
            extremeEapsMode, 
            extremeEapsPrevState,
            extremeEapsState,
            extremeEapsFailedFlag,
            extremeEapsPrimaryStatus,
            extremeEapsSecondaryStatus}
            STATUS  current
            DESCRIPTION
                    "If a Transit is in Link-Down state, and it receives a 
                     Health-Check-Pdu from the Master indicating the ring is
                     Complete, it means there is some problem with the Transit
                     switch that has issued this trap message."
                ::= { extremeEapsTrapsPrefix 4 }

       extremeEapsPortStatusChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsName,
            extremeEapsPrimaryStatus,
            extremeEapsSecondaryStatus, 
            extremeEapsLastStatusChange}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsPortStatusChange notification is 
                     generated when an EAPS primary or secondary port changes state."
                ::= { extremeEapsTrapsPrefix 5 }

       extremeEapsConfigChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsLastConfigurationChange }
            STATUS  current
            DESCRIPTION
                    "The extremeEapsConfigChange notification is generated
                     when the EAPS configuration has changed.  It is sent 30 seconds 
                     after the first change is made to limit the number of traps sent"
                ::= { extremeEapsTrapsPrefix 6 }

       extremeEapsLastStatusChangeTime NOTIFICATION-TYPE
            OBJECTS {    extremeEapsLastStatusChange,
                         extremeEapsStatusTrapCount}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsLastStatusChangeTime notification is generated
                     10 seconds after a status change occurs.  Within the 10 second period all
                     status changes cause extremeEapsLastStatusChange variable to be updated.
                     10 seconds after the first change, this trap is sent.  This is to ensure
                     a management station is notified that a change occured, in case the regular
                     traps are dropped due to be being sent while the network is converging."
                ::= { extremeEapsTrapsPrefix 7 }


    extremeBgpM2Traps     OBJECT IDENTIFIER
        ::= { extremeV2Traps 8 }

    extremeBgpM2TrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeBgpM2Traps 0 }

        extremeBgpM2PrefixReachedThreshold NOTIFICATION-TYPE
            OBJECTS { 
                 bgpM2PeerRemoteAddr,
                 bgpM2PeerRemoteAddrType,
                 bgpM2PeerLocalAddr,
                 bgpM2PeerLocalAddrType
            }
            STATUS  current
            DESCRIPTION
                    "The extremeBgpPrefixReachedThreshold notification is generated
                     when the number of prefixes received over this 
                     peer session reaches the threshold limit."
                ::= { extremeBgpM2TrapsPrefix 1 }

        extremeBgpM2PrefixMaxExceeded NOTIFICATION-TYPE
            OBJECTS { 
                 bgpM2PeerRemoteAddr,
                 bgpM2PeerRemoteAddrType,
                 bgpM2PeerLocalAddr,
                 bgpM2PeerLocalAddrType
            }
            STATUS  current
            DESCRIPTION
                    "The extremeBgpPrefixMaxExceeded notification is generated
                     when the number of prefixes received over this 
                     peer session reaches the maximum configured limit."
                ::= { extremeBgpM2TrapsPrefix 2 }

    -- Extreme PoE Notifications
extremePethTraps  OBJECT IDENTIFIER ::= {extremeV2Traps 12}

    extremePethNotificationPrefix     OBJECT IDENTIFIER
		    ::= { extremePethTraps 0 }

        extremePethPSUStatusNotification NOTIFICATION-TYPE
            OBJECTS     { extremePethSlotPSUActive,
                          extremePethSlotMainPseIndex }
            STATUS      current
            DESCRIPTION
                " This Notification indicates a change in the PoE PSU for the slot."
            ::= { extremePethNotificationPrefix 1 }


    extremeEapsSharedLinkTraps     OBJECT IDENTIFIER
		::= { extremeV2Traps 9 }

	extremeEapsSharedLinkTrapsPrefix     OBJECT IDENTIFIER
          ::= { extremeEapsSharedLinkTraps 0 }

        extremeSegmentPort  OBJECT-TYPE
              SYNTAX EapsRingPort
              MAX-ACCESS  accessible-for-notify
              STATUS current
              DESCRIPTION
                  "The EAPS Shared Link's Segment Id."
	          ::= { extremeEapsSharedLinkTraps 1 }

        extremeSharedPort  OBJECT-TYPE
              SYNTAX EapsRingPort
              MAX-ACCESS  accessible-for-notify
              STATUS current
              DESCRIPTION
                  "The EAPS Shared Link's Shared port."
	          ::= { extremeEapsSharedLinkTraps 2 }

        extremeEapsSegmentTimerExpFlagSet NOTIFICATION-TYPE
            OBJECTS {	extremeSegmentPort, 
                        extremeSharedPort
                    }
            STATUS  current
            DESCRIPTION
                    "The extremeEapsFailTimerExpFlagSet notification is 
                     generated when the EAPS domain's segment timer expires
                     for the first time."
                ::= { extremeEapsSharedLinkTrapsPrefix 1 }

        extremeEapsSegmentTimerExpFlagClear NOTIFICATION-TYPE
            OBJECTS {	extremeSegmentPort,
                        extremeSharedPort
                    }
            STATUS  current
            DESCRIPTION
                    "The extremeEapsSegmentTimerExpFlagClear notification is 
                     generated when the EAPS domain's Segment Fail timer 
                     expired flag is cleared."
                ::= { extremeEapsSharedLinkTrapsPrefix 2 }

        extremeEapsSharedPortStateChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsSharedPortIfIndex,
                         extremeEapsSharedPortLinkId,
                         extremeEapsSharedPortState,
                         extremeEapsSharedPortNbrStatus,
                         extremeEapsSharedPortRootBlockerStatus,
                         extremeEapsLastStatusChange }
            STATUS  current
            DESCRIPTION
                    "The extremeEapsSharedPortStateChange notification is generated
                     when the EAPS shared port state changes."
                ::= { extremeEapsSharedLinkTrapsPrefix 3 }

        extremeEapsRootBlockerStatusChange NOTIFICATION-TYPE
            OBJECTS {    extremeEapsSharedPortIfIndex,
                         extremeEapsSharedPortRootBlockerStatus,
                         extremeEapsSharedPortRootBlockerId,
                         extremeEapsLastStatusChange}
            STATUS  current
            DESCRIPTION
                    "The extremeEapsSharedPortRootBlockerChange notification is generated
                     when each switch detects a new rootblocker ID on the networks."
                ::= { extremeEapsSharedLinkTrapsPrefix 4 }


    -- Extreme LACP Notifications
extremeLacpTraps  OBJECT IDENTIFIER ::= {extremeV2Traps 13}

    extremeLacpNotificationPrefix     OBJECT IDENTIFIER
		    ::= { extremeLacpTraps 0 }

        extremeLacpAddPortToAggregator NOTIFICATION-TYPE
            OBJECTS     { extremeLacpGroup,
                          extremeLacpMemberPort }
            STATUS      current
            DESCRIPTION
                " This Notification indicates when a LACP member-port has been added to the Aggregator."
            ::= { extremeLacpNotificationPrefix 1 }

        extremeLacpDeletePortFromAggregator NOTIFICATION-TYPE
            OBJECTS     { extremeLacpGroup,
                          extremeLacpMemberPort }
            STATUS      current
            DESCRIPTION
                " This Notification indicates when a LACP member-port has been deleted from the Aggregator."
            ::= { extremeLacpNotificationPrefix 2 }

    -- The following are Extreme specific v1 traps converted to v2

          extremeOverheat NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeCurrentTemperature }
              STATUS  current
              DESCRIPTION "An overheat notification indicates that the on-board 
                          temperature sensor has reported a temperature that is 
                          outside the normal operating range (either higher than 
                          the maximum or lower than the minimum of the range) and 
                          the switch is in an overheat (or overcold) condition."
              ::= { extremeV1Traps 6 }

          extremeFanfailed NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeFanNumber }
              STATUS  current
              DESCRIPTION
                          "A fan failed trap indicates one or more of the
                          cooling fans inside the device has failed.  A
                          fanOK trap will be sent once the fan has attained
                          normal operation."
              ::= { extremeV1Traps 7 }

          extremeFanOK NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremeFanNumber }
              STATUS  current
              DESCRIPTION
                          "A fan has transitioned out of a failure state and
                          is now operating correctly."
              ::= { extremeV1Traps 8 }

          extremeInvalidLoginAttempt NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr }
              STATUS  current
              DESCRIPTION
                "A user attempted to login to console or by telnet but was
                 refused access due to incorrect username or password"
              ::= { extremeV1Traps 9 }

          extremePowerSupplyFail NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremePowerSupplyNumber }
              STATUS  current
              DESCRIPTION
                "One or more sources of power to this agent has failed.
                 Presumably a redundant power-supply has taken over."
              ::= { extremeV1Traps 10 }

          extremePowerSupplyGood NOTIFICATION-TYPE
              OBJECTS   { sysUpTime, sysDescr, extremePowerSupplyNumber }
              STATUS  current
              DESCRIPTION
                 "One or more previously bad sources of power to this agent 
                 has come back to life without causing an agent restart."
              ::= { extremeV1Traps 11 }

        extremeSmartTrap NOTIFICATION-TYPE
            OBJECTS   { sysUpTime, sysDescr }
            STATUS  current
        	DESCRIPTION
                "Signifies that the value of one of the object identifiers 
                (or the value of an object below that in the MIB tree) 
                defined in the extremeSmartTrapRulesTable has changed, 
                and hence a new entry has been created in the 
                extremeSmartTrapInstanceTable. Such a trap is sent 
                at most once every thirty seconds if one or more entry 
                was created in the last thirty seconds." 
              ::= { extremeV1Traps 14 }


	extremeModuleStateChanged NOTIFICATION-TYPE
		OBJECTS   { sysUpTime, extremeSlotNumber, 
                            extremeSlotModuleConfiguredType, 
                            extremeSlotModuleInsertedType, 
                            extremeSlotModuleState }
	        STATUS current
		DESCRIPTION
		"Signifies that the value of the extremeSlotModuleState for 
		 the specified extremeSlotNumber has changed. 
		 Traps will be reported only for significant states."
              ::= { extremeV1Traps 15 }

	extremeEdpNeighborAdded NOTIFICATION-TYPE
                OBJECTS {sysUpTime, extremeEdpPortIfIndex,
			         extremeEdpNeighborId, extremeEdpEntryAge,
			         ifAlias, ifDescr
                }
                STATUS  current
                DESCRIPTION
                "This node discovers a new neighbor through Extreme Discovery
	        Protocol."
                ::= { extremeV1Traps 20 }

        extremeEdpNeighborRemoved NOTIFICATION-TYPE
                OBJECTS { sysUpTime, extremeEdpPortIfIndex,
			          extremeEdpNeighborId, extremeEdpEntryAge,
			          ifAlias, ifDescr
                    }
                STATUS  current
                DESCRIPTION
                "No EDP updates are received from this neighbor within
	         the configured timeout period and this neighbor entry is aged
	         out by the device."
                ::= { extremeV1Traps 21 }
        
        extremeOverheatNormal NOTIFICATION-TYPE
                OBJECTS   { sysDescr, extremeCurrentTemperature }
                STATUS  current
                DESCRIPTION "An overheat (return to) normal notification indicates 
                            that the on-board tempature sensor has reported a 
                            temperature that has returned to within the normal 
                            operating range from having been in an overheat (or 
                            overcold) condition.  The temperature of the unit has 
                            sufficiently cooled to be below the maximum (or warmed 
                            to be above the minimum) of the normal operating range."
                ::= { extremeCoreSCTrapPrefix 8 }
END