summaryrefslogtreecommitdiff
path: root/MIBS/junose/Juniper-ADDRESS-POOL-MIB
blob: 0c5ef935bdd8baf58aaa3d3aad535c23b062af5e (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
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843

-- *****************************************************************************
-- Juniper-ADDRESS-POOL-MIB
--
-- Juniper Networks Enterprise MIB
--   Address Pool MIB
--
-- Copyright (c) 1999 Redstone Communications, Inc.
-- Copyright (c) 2001, 2002 Unisphere Networks, Inc.
-- Copyright (c) 2002, 2003, 2004 Juniper Networks, Inc.
--   All Rights Reserved.
-- *****************************************************************************

Juniper-ADDRESS-POOL-MIB  DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, IpAddress, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    RowStatus, TruthValue, DisplayString
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    juniRouterName
        FROM Juniper-ROUTER-MIB
    juniMibs
        FROM Juniper-MIBs;

juniAddressPoolMIB  MODULE-IDENTITY
    LAST-UPDATED "200502112135Z"  -- 11-Feb-05 04:35 PM EST
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
        "       Juniper Networks, Inc.
        Postal: 10 Technology Park Road
                Westford, MA  01886-3146
                USA
        Tel:    +1 978 589 5800
        E-mail: mib@Juniper.net"
    DESCRIPTION
        "The Address Pool MIB for the Juniper Networks enterprise."
    -- Revision History
    REVISION    "200502112135Z"  -- 11-Feb-05 04:35 PM EST  - JUNOSe 7.0
    DESCRIPTION
        "Added support for  juniAddressSharedPoolTable."
    REVISION    "200409172237Z"  -- 17-Sep-04 05:37 PM EST  - JUNOSe 6.0
    DESCRIPTION
        "Added support for next pool profile index.
        Changed the description of the juniAddressPoolRowStatus and 
        the juniAddressAliasRowStatus objects."
    REVISION    "200311032237Z"  -- 03-Nov-03 05:37 PM EST  - JUNOSe 5.3
    DESCRIPTION
        "Added support for address pool aliases."
    REVISION    "200209162144Z"  -- 16-Sep-02 05:44 PM EDT  - JUNOSe 5.0
    DESCRIPTION
        "Replaced Unisphere names with Juniper names."
    REVISION    "200205061838Z"  -- 06-May-02 02:38 PM EDT  - JUNOSe 3.3
    DESCRIPTION
        "Added juniAddressPoolProfileTable to support an address pool with
        multiple address ranges."
    REVISION    "200105021157Z"  -- 02-May-01 07:57 AM EDT  - JUNOSe 3.2
    DESCRIPTION
        "Added pool exhaustion variables and notifications for high pool
        utilization and pool exhaustion."
    REVISION    "200104271500Z"  -- 27-Apr-01 11:00 AM EDT  - JUNOSe 3.0
    DESCRIPTION
        "Fixed range on juniAddressPoolNextPoolIndex."
    REVISION      "9906010000Z"  -- 01-Jun-99               - JUNOSe 1.3
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { juniMibs 21 }


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed object groups
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
juniAddressPoolObjects  OBJECT IDENTIFIER ::= { juniAddressPoolMIB 1 }
juniAddressPool         OBJECT IDENTIFIER ::= { juniAddressPoolObjects 1 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects for Address Pools
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
juniAddressPoolTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JuniAddressPoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of IP address pool configuration entries."
    ::= { juniAddressPool 1 }

juniAddressPoolEntry OBJECT-TYPE
    SYNTAX      JuniAddressPoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry describing an IP address pool configuration."
    INDEX     { juniAddressPoolIndex }
    ::= { juniAddressPoolTable 1 }

JuniAddressPoolEntry ::= SEQUENCE {
    juniAddressPoolIndex                 Integer32,
    juniAddressPoolName                  OCTET STRING,
    juniAddressPoolRowStatus             RowStatus,
    juniAddressPoolStart                 IpAddress,
    juniAddressPoolEnd                   IpAddress,
    juniAddressPoolSize                  Integer32,
    juniAddressPoolInUse                 Integer32,
    juniAddressPoolHighUtilThreshold     Integer32,
    juniAddressPoolAbatedUtilThreshold   Integer32,
    juniAddressPoolUtilPct               Integer32,
    juniAddressPoolTrapEnable            TruthValue,
    juniAddressPoolNextPoolProfileIndex  Integer32 }

juniAddressPoolIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An arbitrary integer index that distinguishes this address pool."
    ::= { juniAddressPoolEntry 1 }

juniAddressPoolRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of address pools.
        
        Only value 'active' will be observed with GET.
        Only values 'createAndGo' and 'destroy' are supported for SET.

        To create an entry in this table, the following entry object MUST be
        explicitly configured:
            juniAddressPoolName

        Once created, the objects with current status can be modified with the
        exception of the juniAddressPoolName object.

        Deleting a row in this table will result in the removal of all rows in 
        the juniAddressPoolProfileTable with the same pool index."
    ::= { juniAddressPoolEntry 2 }

juniAddressPoolName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The name of this address pool.  Represents textual information taken
        from the NVT ASCII graphics character set (codes 32 through 126)."
    REFERENCE
        "RFC 854: NVT ASCII character set."
    ::= { juniAddressPoolEntry 3 }

juniAddressPoolStart OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
        "The starting IP address for the range of addresses comprising the
        'first' pool profile entry.  This object is deprecated in favor of
        juniAddressPoolProfileStart because it applies to a single address range
        and can only show one of possibly many address ranges found in the newer
        juniAddressPoolProfileTable.  The value in this table maps to the value
        in the juniAddressPoolProfileTable for the entry with
        juniAddressPoolProfileIndex equal to 1."
    DEFVAL    { 0 }
    ::= { juniAddressPoolEntry 4 }

juniAddressPoolEnd OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
        "The ending IP address for the range of addresses comprising the 'first'
        pool profile entry.  This object is deprecated in favor of
        juniAddressPoolProfileEnd because it applies to a single address range
        and can only show one of possibly many address ranges found in the newer
        juniAddressPoolProfileTable.  The value in this table maps to the value
        in the juniAddressPoolProfileTable for the entry with
        juniAddressPoolProfileIndex equal to 1."
    DEFVAL    { 0 }
    ::= { juniAddressPoolEntry 5 }

juniAddressPoolSize OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The number of addresses available in the 'first' pool profile entry.
        This object is deprecated in favor of juniAddressPoolProfileSize because
        it applies to a single address range and can only show one of possibly
        many address ranges found in the newer juniAddressPoolProfileTable.  The
        value in this table maps to the value in the juniAddressPoolProfileTable
        for the entry with juniAddressPoolProfileIndex equal to 1."
    ::= { juniAddressPoolEntry 6 }

juniAddressPoolInUse OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The number of addresses currently allocated from the 'first' pool
        profile entry.  This object is deprecated in favor of
        juniAddressPoolProfileInUse because it applies to a single address range
        and can only show one of possibly many address ranges found in the newer
        juniAddressPoolProfileTable.  The value in this table maps to the value
        in the juniAddressPoolProfileTable for the entry with
        juniAddressPoolProfileIndex equal to 1."
    ::= { juniAddressPoolEntry 7 }

juniAddressPoolHighUtilThreshold  OBJECT-TYPE
    SYNTAX      Integer32 (1..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of address pool utilization, where if reached for the first
        time, will generate a high address pool utilization event to the
        management entity on this system.
 
        The value of this object must be greater than the value of
        juniAddressPoolAbatedUtilThreshold."
    DEFVAL    { 85 }
    ::= { juniAddressPoolEntry 8 }

juniAddressPoolAbatedUtilThreshold OBJECT-TYPE 
    SYNTAX      Integer32 (1..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of address pool utilization that is used to determine when to
        generate an abated address pool utilization event notification to the
        management entity on this system.

        The value of this object must be less than the value of the
        juniAddressPoolHighUtilThreshold.

        The abated address pool utilization event is sent once if the high
        address pool utilization threshold is reached and utilization falls to
        the value of this object."
    DEFVAL    { 75 }
    ::= { juniAddressPoolEntry 9 }

juniAddressPoolUtilPct OBJECT-TYPE
    SYNTAX      Integer32 (1..100)
    MAX-ACCESS  read-only
    STATUS      current 
    DESCRIPTION
        "The current address utilization for this pool."
    ::= { juniAddressPoolEntry 10 }
    
juniAddressPoolTrapEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The configuration setting for address pool notifications.  Setting this
        object to enable(1) will enable the sending of juniAddressPool event
        notifications to the management entity on this device.  Setting this
        object to false(2) will disable event notification reports."
    DEFVAL    { false }
    ::= { juniAddressPoolEntry 11 }
 
juniAddressPoolNextPoolProfileIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Coordinate juniAddressPoolProfileIndex value allocation for entries in
        juniAddressPoolProfileTable.

        A GET of this object returns the next available 
        juniAddressPoolProfileIndex value to be used to create an entry in the 
        associated juniAddressPoolProfileTable; or zero, if no valid 
        juniAddressPoolProfileIndex is available.  This object returns a value
        of zero when it is the lexicographic successor of a varbind presented 
        in an SNMP GETNEXT or GETBULK request, for which circumstance it is 
        assumed that a new index allocation is unintended."
    ::= { juniAddressPoolEntry 12 }

--
-- Address pool profile table.
--
juniAddressPoolProfileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JuniAddressPoolProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of IP address pool profile entries."
    ::= { juniAddressPool 3 }

juniAddressPoolProfileEntry OBJECT-TYPE
    SYNTAX      JuniAddressPoolProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An IP address pool profile entry.

        Deleting an entry in the juniAddressPoolProfileTable will result in the
        removal of all entries in this table that have the same pool index
        value."
    INDEX     { juniAddressPoolIndex,
                juniAddressPoolProfileIndex }
    ::= { juniAddressPoolProfileTable 1 }

JuniAddressPoolProfileEntry ::= SEQUENCE { 
    juniAddressPoolProfileIndex      Integer32,
    juniAddressPoolProfileRowStatus  RowStatus,
    juniAddressPoolProfileStart      IpAddress,
    juniAddressPoolProfileEnd        IpAddress,
    juniAddressPoolProfileSize       Integer32,
    juniAddressPoolProfileInUse      Integer32 }

juniAddressPoolProfileIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A monotonically increasing integer for the sole purpose of indexing
        entries within the named address pool."
    ::= { juniAddressPoolProfileEntry 1 }

juniAddressPoolProfileRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of address pools.
        
        Only value 'active' will be observed with GET.
        Only values 'createAndGo' and 'destroy' are supported for SET.

        To create an entry in this table, the following entry objects MUST be
        explicitly configured:
            juniAddressPoolProfileStart
            juniAddressPoolProfileEnd

        Once created, entry content cannot be modified except by deleting and
        recreating an entry with the same index."
    ::= { juniAddressPoolProfileEntry 2 }

juniAddressPoolProfileStart OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The starting IP address for the range of addresses comprising this
        pool."
    ::= { juniAddressPoolProfileEntry 3 }

juniAddressPoolProfileEnd OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The ending IP address for the range of addresses comprising this pool."
    ::= { juniAddressPoolProfileEntry 4 }

juniAddressPoolProfileSize OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of addresses available in this pool."
    ::= { juniAddressPoolProfileEntry 5 }

juniAddressPoolProfileInUse OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of addresses currently allocated from this pool."
    ::= { juniAddressPoolProfileEntry 6 }


--
-- Address alias table.
--
juniAddressAliasTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JuniAddressAliasEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of IP address alias entries.

        An alias is an alternate name for an existing local address pool within
        a virtual router.  It is comprised of an alias name and a pool name.
        Multiple aliases may be configured for each virtual router.  They will
        be stored in an alias table that will be managed by the virtual router's
        local address server.  A maximum number of 32 aliases may be configured
        per virtual router.

        When an AAA Server requests an IP address from a specific local address
        pool within a virtual router, the local address server will first search
        its alias table for a matching alias name.  If an alias exists, the IP
        address would be allocated from the pool specified by the alias.  If no
        alias exists, the IP address would be allocated from the pool specified
        in the request.  If a pool is not specified in the request, the local
        address server would disregard its alias table and allocate the first
        available IP address from its pools."
    ::= { juniAddressPool 4 }

juniAddressAliasEntry OBJECT-TYPE
    SYNTAX      JuniAddressAliasEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An IP address alias entry."
    INDEX     { IMPLIED juniAddressAliasName }
    ::= { juniAddressAliasTable 1 }

JuniAddressAliasEntry ::= SEQUENCE { 
    juniAddressAliasName       DisplayString,
    juniAddressAliasRowStatus  RowStatus,
    juniAddressAliasPoolName   DisplayString }

juniAddressAliasName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The name of this alias.  It should match a local address pool name that
        would appear in an IP address request from an AAA Server.

        Represents textual information taken from the NVT ASCII graphics
        character set (codes 32 through 126)."
    REFERENCE
        "RFC 854: NVT ASCII character set."
    ::= { juniAddressAliasEntry 1 }

juniAddressAliasRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of address aliases.
        
        Only value 'active' will be observed with GET, GETNEXT, and GETBULK.
        Only values 'createAndGo' and 'destroy' are supported for SET."
    ::= { juniAddressAliasEntry 2 }

juniAddressAliasPoolName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The name of the address pool for this alias; corresponds to a
        juniAddressPoolName value in an existing juniAddressPoolTable entry.

        Represents textual information taken from the NVT ASCII graphics
        character set (codes 32 through 126)."
    REFERENCE
        "RFC 854: NVT ASCII character set."
    ::= { juniAddressAliasEntry 3 } 

--
-- Shared address pool table.
--

juniAddressSharedPoolTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JuniAddressSharedPoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of shared address pool configuration entries.  These pools
         rely on DHCP for address allocations."
    ::= { juniAddressPool 5 }

juniAddressSharedPoolEntry OBJECT-TYPE
    SYNTAX      JuniAddressSharedPoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry describing a shared address pool configuration."
    INDEX     { juniAddressSharedPoolIndex }
    ::= { juniAddressSharedPoolTable 1 }

JuniAddressSharedPoolEntry ::= SEQUENCE {
    juniAddressSharedPoolIndex            Integer32,
    juniAddressSharedPoolRowStatus        RowStatus,
    juniAddressSharedPoolName             OCTET STRING,
    juniAddressSharedPoolDhcpPoolName     OCTET STRING,
    juniAddressSharedPoolInUse            Integer32 }


juniAddressSharedPoolIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An arbitrary integer index that distinguishes this address pool."
    ::= { juniAddressSharedPoolEntry 1 }

juniAddressSharedPoolRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of address pools.
        
        Only value 'active' will be observed with GET.
        Only values 'createAndGo' and 'destroy' are supported for SET.

        To create an entry in this table, the following entry objects MUST be
        explicitly configured:
            juniAddressSharedPoolName, juniAddressSharedPoolDhcpPoolName.

        Once created, the objects in this table can not be modified."
    ::= { juniAddressSharedPoolEntry 2 }

juniAddressSharedPoolName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The name of this address pool.  Represents textual information taken
        from the NVT ASCII graphics character set (codes 32 through 126). 
        Values for this object are mutually exclusive with juniAddressPoolName."
    REFERENCE
        "RFC 854: NVT ASCII character set."
    ::= { juniAddressSharedPoolEntry 3 }


juniAddressSharedPoolDhcpPoolName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The name of the DHCP pool that allocates addresses for this
        pool.  Represents textual information taken
        from the NVT ASCII graphics character set (codes 32 through 126)."
    REFERENCE
        "RFC 854: NVT ASCII character set."
    ::= { juniAddressSharedPoolEntry 4 }

juniAddressSharedPoolInUse OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of address allocations for this entry."
      ::= { juniAddressSharedPoolEntry 5 }


--
-- juniAddressPoolIndex selection for creating new address pools 
--
juniAddressPoolNextPoolIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Coordinate values of juniAddressPoolIndex and juniAddressSharedPoolIndex
        for entries in juniAddressPoolTable and juniAddressSharedPoolTable.

        A GET of this object returns the next available index
        value to be used to create an entry in the associated
        juniAddressPoolTable or juniAddressSharedPoolTable or zero,
        if no valid index is available.

        This object returns a value of zero when it is the
        lexicographic successor of a varbind presented in an SNMP GETNEXT or
        GETBULK request, for which circumstance it is assumed that a new index
        allocation is unintended."
    ::= { juniAddressPool 2 }


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notification control objects
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- No notifications are defined in this MIB.  Placeholder follows.
-- juniAddressPoolTrapControl  OBJECT IDENTIFIER ::= { juniAddressPoolMIB 2 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notifications
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- The following two OBJECT IDENTIFIERS are used to define SNMPv2 
-- Notifications that are easily translated into SNMPv1 Traps.

juniAddressPoolTraps            OBJECT IDENTIFIER ::= { juniAddressPoolMIB 3 }
juniAddressPoolTrapPrefix       OBJECT IDENTIFIER ::= { juniAddressPoolTraps 0 }

juniAddressPoolHighAddrUtil NOTIFICATION-TYPE
    OBJECTS {
        juniRouterName,
        juniAddressPoolName,
        juniAddressPoolSize,
        juniAddressPoolInUse,
        juniAddressPoolUtilPct }
    STATUS      current
    DESCRIPTION
        "Reports address pool utilization has reached the configured high
        utilization threshold."
    ::= { juniAddressPoolTrapPrefix 1 }

juniAddressPoolAbatedAddrUtil NOTIFICATION-TYPE
    OBJECTS {
        juniRouterName,
        juniAddressPoolName,
        juniAddressPoolSize,
        juniAddressPoolInUse,
        juniAddressPoolUtilPct }
    STATUS      current
    DESCRIPTION
        "Reports address pool utilization has fallen to the configured abated
        threshold level."
    ::= { juniAddressPoolTrapPrefix 2 }

juniAddressPoolNoAddresses NOTIFICATION-TYPE
    OBJECTS {
        juniRouterName,
        juniAddressPoolName,
        juniAddressPoolSize }
    STATUS      current
    DESCRIPTION
        "Reports address pool has exhausted its supply of addresses.  This trap
        is issued every time a request is made to allocate an address from a
        fully utilized pool."
    ::= { juniAddressPoolTrapPrefix 3 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Conformance information
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
juniAddressPoolMIBConformance
             OBJECT IDENTIFIER ::= { juniAddressPoolMIB 4 }
juniAddressPoolMIBCompliances
             OBJECT IDENTIFIER ::= { juniAddressPoolMIBConformance 1 }
juniAddressPoolMIBGroups
             OBJECT IDENTIFIER ::= { juniAddressPoolMIBConformance 2 }

--
-- compliance statements
--
juniAddressPoolCompliance  MODULE-COMPLIANCE
    STATUS      obsolete
    DESCRIPTION
        "Obsolete compliance statement for systems providing local address
        pools.  This statement became obsolete when pool exhaustion variables
        and notifications were added."
    MODULE   -- this module
        MANDATORY-GROUPS {
            juniAddressPoolGroup }
    ::= { juniAddressPoolMIBCompliances 1 }                        -- JUNOSe 1.3

juniAddressPoolCompliance2  MODULE-COMPLIANCE
    STATUS      obsolete
    DESCRIPTION
        "Obsolete compliance statement for systems providing local address
        pools.  This statement became obsolete when support was added for
        address pools with multiple address ranges."
    MODULE   -- this module
        MANDATORY-GROUPS {
            juniAddressPoolGroup2,
            juniAddressPoolTrapGroup }
    ::= { juniAddressPoolMIBCompliances 2 }                        -- JUNOSe 3.2

juniAddressPoolCompliance3  MODULE-COMPLIANCE
    STATUS      obsolete
    DESCRIPTION
        "Obsolete compliance statement for systems providing local address
        pools.  This statement became obsolete when support was added for
        address aliases."
    MODULE   -- this module
        MANDATORY-GROUPS {
            juniAddressPoolGroup3,
            juniAddressPoolTrapGroup }
    ::= { juniAddressPoolMIBCompliances 3 }                        -- JUNOSe 3.3

juniAddressPoolCompliance4  MODULE-COMPLIANCE
    STATUS      obsolete
    DESCRIPTION
        "Obsolete compliance statement for systems providing local address
        pools.  This statement became obsolete when support was added for
        next PoolProfile index."
    MODULE   -- this module
        MANDATORY-GROUPS {
            juniAddressPoolGroup3,
            juniAddressPoolTrapGroup,
            juniAddressAliasGroup }
    ::= { juniAddressPoolMIBCompliances 4 }                        -- JUNOSe 5.3  
    
juniAddressPoolCompliance5  MODULE-COMPLIANCE
    STATUS      obsolete
    DESCRIPTION
        "Obsolete compliance statement for systems providing local address
        pools.  This statement became obsolete when support was added for
        shared address pools."
    MODULE   -- this module
        MANDATORY-GROUPS {
            juniAddressPoolGroup4,
            juniAddressPoolTrapGroup,
            juniAddressAliasGroup }
    ::= { juniAddressPoolMIBCompliances 5 }                        -- JUNOSe 6.0

juniAddressPoolCompliance6  MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for systems providing local address pools."
    MODULE   -- this module
        MANDATORY-GROUPS {
            juniAddressPoolGroup5,
            juniAddressPoolTrapGroup,
            juniAddressAliasGroup }
    ::= { juniAddressPoolMIBCompliances 6 }                        -- JUNOSe 7.0

--
-- units of conformance
--
juniAddressPoolGroup  OBJECT-GROUP
    OBJECTS {
        juniAddressPoolRowStatus,
        juniAddressPoolName,
        juniAddressPoolStart,
        juniAddressPoolEnd,
        juniAddressPoolSize,
        juniAddressPoolInUse,
        juniAddressPoolNextPoolIndex }
    STATUS      obsolete
    DESCRIPTION
        "Obsolete collection of objects providing management of local address
        pools.  This group became obsolete when pool exhaustion variables and
        notifications were added."
    ::= { juniAddressPoolMIBGroups 1 }                             -- JUNOSe 1.3

juniAddressPoolGroup2  OBJECT-GROUP
    OBJECTS {
        juniAddressPoolRowStatus,
        juniAddressPoolName,
        juniAddressPoolStart,
        juniAddressPoolEnd,
        juniAddressPoolSize,
        juniAddressPoolInUse,
        juniAddressPoolNextPoolIndex,
        juniAddressPoolHighUtilThreshold,
        juniAddressPoolAbatedUtilThreshold,
        juniAddressPoolUtilPct,
        juniAddressPoolTrapEnable }
    STATUS      obsolete
    DESCRIPTION
        "Obsolete collection of objects providing management of local address
        pools.  This group became obsolete when support was added for address
        pools with multiple address ranges."
    ::= { juniAddressPoolMIBGroups 2 }                             -- JUNOSe 3.2

juniAddressPoolTrapGroup  NOTIFICATION-GROUP
    NOTIFICATIONS {
        juniAddressPoolHighAddrUtil,
        juniAddressPoolAbatedAddrUtil,
        juniAddressPoolNoAddresses }
    STATUS      current
    DESCRIPTION
        "The notifications providing alarms for high pool utilization and pool
        exhaustion of local address pools."
    ::= { juniAddressPoolMIBGroups 3 }                             -- JUNOSe 3.2

juniAddressPoolGroup3  OBJECT-GROUP
    OBJECTS {
        juniAddressPoolRowStatus,
        juniAddressPoolName,
        juniAddressPoolNextPoolIndex,
        juniAddressPoolHighUtilThreshold,
        juniAddressPoolAbatedUtilThreshold,
        juniAddressPoolUtilPct,
        juniAddressPoolTrapEnable,
        juniAddressPoolProfileRowStatus,
        juniAddressPoolProfileStart,
        juniAddressPoolProfileEnd,
        juniAddressPoolProfileSize,
        juniAddressPoolProfileInUse }
    STATUS      current
    DESCRIPTION
        "The basic collection of objects providing management of local address
        pools."
    ::= { juniAddressPoolMIBGroups 4 }                             -- JUNOSe 3.3

juniAddressPoolDeprecatedGroup  OBJECT-GROUP
    OBJECTS {
        juniAddressPoolStart,
        juniAddressPoolEnd,
        juniAddressPoolSize,
        juniAddressPoolInUse }
    STATUS      deprecated
    DESCRIPTION
        "A collection of deprecated objects providing management of local
        address pools.  This group became deprecated when support was added for
        address pools with multiple address ranges."
    ::= { juniAddressPoolMIBGroups 5 }                             -- JUNOSe 3.3

juniAddressAliasGroup OBJECT-GROUP
    OBJECTS {
        juniAddressAliasRowStatus,
        juniAddressAliasPoolName }
    STATUS      current
    DESCRIPTION
        "The basic collection of objects providing management of local address
        aliases."
    ::= { juniAddressPoolMIBGroups 6 }                             -- JUNOSe 5.3

juniAddressPoolGroup4  OBJECT-GROUP
    OBJECTS {
        juniAddressPoolRowStatus,
        juniAddressPoolName,
        juniAddressPoolNextPoolIndex,
        juniAddressPoolHighUtilThreshold,
        juniAddressPoolAbatedUtilThreshold,
        juniAddressPoolUtilPct,
        juniAddressPoolTrapEnable,
        juniAddressPoolProfileRowStatus,
        juniAddressPoolProfileStart,
        juniAddressPoolProfileEnd,
        juniAddressPoolProfileSize,
        juniAddressPoolProfileInUse,
        juniAddressPoolNextPoolProfileIndex }
    STATUS      obsolete
    DESCRIPTION
        "Obsolete collection of objects providing management of local address
        pools."
    ::= { juniAddressPoolMIBGroups 7 }                             -- JUNOSe 6.0

juniAddressPoolGroup5  OBJECT-GROUP
    OBJECTS {
        juniAddressPoolRowStatus,
        juniAddressPoolName,
        juniAddressPoolNextPoolIndex,
        juniAddressPoolHighUtilThreshold,
        juniAddressPoolAbatedUtilThreshold,
        juniAddressPoolUtilPct,
        juniAddressPoolTrapEnable,
        juniAddressPoolProfileRowStatus,
        juniAddressPoolProfileStart,
        juniAddressPoolProfileEnd,
        juniAddressPoolProfileSize,
        juniAddressPoolProfileInUse,
        juniAddressPoolNextPoolProfileIndex,
        juniAddressSharedPoolRowStatus,
        juniAddressSharedPoolName,
        juniAddressSharedPoolDhcpPoolName,
        juniAddressSharedPoolInUse }
    STATUS      current
    DESCRIPTION
        "The basic collection of objects providing management of local address
        pools."
    ::= { juniAddressPoolMIBGroups 8 }                             -- JUNOSe 7.0

END