summaryrefslogtreecommitdiff
path: root/MIBS/allied/AT-DHCP-MIB
blob: 59b029c3dd354989b75112c9213106ac63118744 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
-- ============================================================================
-- AT-ETH.MIB, Allied Telesis enterprise MIB: DHCP module
--
-- Extracted from ATROUTER.MIB of pre 2.9.1 release
--
-- June 2006, Stan Xiang
--
-- Copyright (c) 2006 by Allied Telesis, Inc.
-- All rights reserved.
-- 
-- ============================================================================

AT-DHCP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, 
    OBJECT-TYPE, 
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI

    DisplayString,
    TruthValue
        FROM SNMPv2-TC

    ifIndex
        FROM IF-MIB

    modules,
    DisplayStringUnsized
        FROM AT-SMI-MIB
;
                                 
dhcp    MODULE-IDENTITY
        LAST-UPDATED "200904010200Z" -- April 1, 2009
        ORGANIZATION "Allied Telesis, Inc"
        CONTACT-INFO
            "http://www.alliedtelesis.com"
        DESCRIPTION
            "This MIB file contains definitions of managed objects for the
            DHCP module. "

        REVISION "200904010200Z" -- April 1, 2009
        DESCRIPTION
            "Added a new TRAP (dhcpRangeExceededThresholdTrap) which will be 
            generated when the number of clients allocated for that range exceeds
            a preset threshold."

        REVISION "200606281222Z" -- June 28, 2006
        DESCRIPTION
            "Initial Revision"

::= { modules 70 }
									  
-- The DHCP (Dynamic Host Configuration Protocol) module. This group provides
-- management information for DHCP, which will be implemented in a number of
-- stages.
-- stage 1, May/2002, Tony van der Peet
--         No DHCP MIB has been found in an RFC, so DHCP has to be supported
--         in the enterprise MIB. Basic request is for a TRAP when a DHCP
--         host range is exhausted. Some basic variables for the range
--         information are provided in order to allow lookup of the exhausted
--         range. Also provided are variables for the express purpose of
--         adding to the TRAP message.

-- The DHCP range table. Each entry in the table gives information about a
-- single DHCP range currently configured in the switch/router.

dhcpRangeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DhcpRangeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table of DHCP ranges."
    ::= { dhcp 1 }

dhcpRangeEntry OBJECT-TYPE
    SYNTAX      DhcpRangeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A single entry of the DHCP range table. This contains
            information about a single DHCP range configured on this
            device."
    INDEX   { dhcpRangeIndex }
    ::= { dhcpRangeTable 1 }

DhcpRangeEntry ::=
        SEQUENCE {
            dhcpRangeIndex
                INTEGER,
            dhcpRangeName
                DisplayStringUnsized,
            dhcpRangeBaseAddress
                IpAddress,
            dhcpRangeNumberOfAddresses
                INTEGER,
            dhcpRangeGateway
                IpAddress
        }

dhcpRangeIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The index of this DHCP range. DHCP ranges are stored in a list
            which is ordered by range name. The index gives the place in the
            list. Note that if ranges are added or deleted, the index for a
            given range will change. Since this table is read-only, this will
            not have an undue effect, but if in future this table is made
            read-write, a mechanism will have to be created to lock the indices
            of the range table while SET operations are proceeding."
    ::= { dhcpRangeEntry 1 }

dhcpRangeName OBJECT-TYPE
    SYNTAX      DisplayStringUnsized (SIZE (1..15))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The name given to identify this DHCP range. This is the ultimate
            method for uniquely identifying this range. Names are compared without
            regard to case, for example >range1< will be treated as the same as
            >RANGE1<."
    ::= { dhcpRangeEntry 2 }

dhcpRangeBaseAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The base address of this range. This address defines the lower bound
            of the range of IP addresses which can be allocated to devices
            requesting an IP address via DHCP."
    ::= { dhcpRangeEntry 3 }

dhcpRangeNumberOfAddresses OBJECT-TYPE
    SYNTAX      INTEGER (1..256)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of IP address in this range. This number defines the upper
            bound of the range of IP addresses which can be allocated to devices
            requesting an IP address via DHCP."
    ::= { dhcpRangeEntry 4 }

dhcpRangeGateway OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The IP address of the BOOTP relay agent which will be relaying DHCP
            requests for this range. If this address is 0.0.0.0, then there will
            be no BOOTP relay agent and the range will be allocated to devices
            directly connected to this device."
    ::= { dhcpRangeEntry 5 }

-- DHCP traps.

-- DHCP trap variables. special variables set up to act as reference points for
-- variables sent in TRAPs.

dhcpTrapVariable OBJECT IDENTIFIER ::= { dhcp 2 }

dhcpRangeExhaustedGateway OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Whenever a DHCP client attempts to lease an IP address and
            the DHCP server cannot provide an address, this variable is
            set to the gateway address of the DHCP request. The gateway
            address is the IP address of the gateway acting as a BOOTP
            relay agent for the request. If there is no gateway, the
            address will be 0.0.0.0. If the gateway address is non-zero,
            the DHCP range from which the allocation should have been
            made will able to be identified by lookup in the DHCP range
            table."
    ::= { dhcpTrapVariable 1 }

dhcpRangeExhaustedInterface OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Whenever a DHCP client attempts to lease an IP address and
            the DHCP server cannot provide an address, this variable is
            set to the IP address of the interface which received the
            DHCP request. If the gateway address associated with the
            failed DHCP request is 0.0.0.0, the interface address will
            be able to be used to lookup the range that was exhausted
            and from which the allocation should have been made."
    ::= { dhcpTrapVariable 2 }

dhcpRangeExceededRange OBJECT-TYPE
    SYNTAX      DisplayStringUnsized (SIZE (1..15))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Whenever a DHCP client attempts to lease an IP address and
            the DHCP server has exceeded a pre-defined threshold this variable
            is set to the name of the range which received the DHCP request."
    ::= { dhcpTrapVariable 3 }
	
dhcpRangeExceededClients OBJECT-TYPE
    SYNTAX      INTEGER (1..1024)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of IP addresses statically defined for a range upon creation. 
            Based on the starting IP address for a range, this number determines the
            upper bound of IP addresses which can be allocated to devices requesting
            an IP address via DHCP."
    ::= { dhcpTrapVariable 4 }
	
dhcpRangeExceededRemaining OBJECT-TYPE
    SYNTAX      INTEGER (1..1024)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of IP addresses still available to be allocated in this
            range."
    ::= { dhcpTrapVariable 5 }

dhcpRangeExceededPercentage OBJECT-TYPE
    SYNTAX      INTEGER (0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The percentage of IP addresses in a range that are currently in use."
    ::= { dhcpTrapVariable 6 }

dhcpTraps	OBJECT IDENTIFIER ::= { dhcp 0 }
dhcpRangeExhaustedTrap NOTIFICATION-TYPE
    OBJECTS   	{ dhcpRangeExhaustedGateway , dhcpRangeExhaustedInterface }
	STATUS		current
    DESCRIPTION
                "This trap is generated when a DHCP client makes a request for
                an IP address and the request cannot be satisfied because all
                addresses in the range are already allocated to other devices."
    ::= { dhcpTraps 1 }
	
dhcpRangeExceededThresholdTrap NOTIFICATION-TYPE
    OBJECTS   	{ dhcpRangeExhaustedInterface, dhcpRangeExceededRange,
				  dhcpRangeExceededClients, dhcpRangeExceededRemaining,
				  dhcpRangeExceededPercentage }
	STATUS		current
    DESCRIPTION
                "This trap is generated when a DHCP client makes a request for
                an IP address and a pre-defined usage threshold has been exceeded.
                The IP addresses will continue to be allocated until the range
                is exhausted."
    ::= { dhcpTraps 2 }

dhcpRangeExceededThresholdClearTrap NOTIFICATION-TYPE
    OBJECTS   	{ dhcpRangeExhaustedInterface, dhcpRangeExceededRange,
				  dhcpRangeExceededClients, dhcpRangeExceededRemaining,
				  dhcpRangeExceededPercentage }
	STATUS		current
    DESCRIPTION
                "This trap is generated when the number of allocated clients  
                in a designated range falls below a pre-defined usage threshold."
    ::= { dhcpTraps 3 }

-- The DHCP client status table. Each entry in the table gives information about 
-- ip addresses currently configured on created ranges on the switch/router.
-- Information shown are the client ip address, clientID, ClientState, ClientType,
-- ClientExpiry
-- This group was added on 6/Jan/2004 by Sean Lin on request from ATKK for Yahoo!BB

dhcpClientTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DhcpClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table of defined DHCP range client addresses."
    ::= { dhcp 3 }

dhcpClientEntry OBJECT-TYPE
    SYNTAX      DhcpClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A single entry of the DHCP range client table. This contains
            information about a single DHCP range client address."
    INDEX   { dhcpRangeIndex, dhcpClientIpAddress }
    ::= { dhcpClientTable 1 }

DhcpClientEntry ::=
        SEQUENCE {
            dhcpClientIpAddress
                IpAddress,
            dhcpClientID
                OCTET STRING,
            dhcpClientState
                INTEGER,
            dhcpClientType
                INTEGER,
            dhcpClientExpiry
                OCTET STRING
        }

dhcpClientIpAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "An IP address from the range of available addresses."
    ::= { dhcpClientEntry 1 }

dhcpClientID OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The hardware address of the client, if any, that has been
            assigned the IP address."
    ::= { dhcpClientEntry 2 }

dhcpClientState OBJECT-TYPE
    SYNTAX      INTEGER {unused (0), reclaiming (1), inuse (2), offered (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The state of the IP address; one of unused, inuse or 
            reclaim."
    ::= { dhcpClientEntry 3 }

dhcpClientType OBJECT-TYPE
    SYNTAX      INTEGER {auto (1), dyn (2), static (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The type of allocation mechanism applied to the IP address; 
            one of static, auto or dyn."
    ::= { dhcpClientEntry 4 }

dhcpClientExpiry OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The expiry date for dynamically allocated IP address."
    ::= { dhcpClientEntry 5 }

END