summaryrefslogtreecommitdiff
path: root/mibs/IPV6-MIB.txt
blob: 6957af27fe0e54756d50cadb04aef21eaeb56a48 (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
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
 IPV6-MIB DEFINITIONS ::= BEGIN

 IMPORTS
     MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
     mib-2, Counter32, Unsigned32, Integer32,
     Gauge32                               FROM SNMPv2-SMI
     DisplayString, PhysAddress, TruthValue, TimeStamp,
     VariablePointer, RowPointer           FROM SNMPv2-TC
     MODULE-COMPLIANCE, OBJECT-GROUP,
     NOTIFICATION-GROUP                    FROM SNMPv2-CONF
     Ipv6IfIndex, Ipv6Address, Ipv6AddressPrefix,
     Ipv6AddressIfIdentifier,
     Ipv6IfIndexOrZero                     FROM IPV6-TC;

 ipv6MIB MODULE-IDENTITY
     LAST-UPDATED "9802052155Z"
     ORGANIZATION "IETF IPv6 Working Group"
     CONTACT-INFO
       "           Dimitry Haskin

           Postal: Bay Networks, Inc.
                   660 Techology Park Drive.
                   Billerica, MA  01821

                   US

              Tel: +1-978-916-8124
           E-mail: dhaskin@baynetworks.com

                   Steve Onishi

           Postal: Bay Networks, Inc.
                   3 Federal Street
                   Billerica, MA 01821
                   US

              Tel: +1-978-916-3816
           E-mail: sonishi@baynetworks.com"
     DESCRIPTION
       "The MIB module for entities implementing the IPv6
        protocol."
     ::= { mib-2 55 }

 -- the IPv6 general group

 ipv6MIBObjects OBJECT IDENTIFIER   ::= { ipv6MIB 1 }

 ipv6Forwarding OBJECT-TYPE
     SYNTAX      INTEGER {
                  forwarding(1),    -- acting as a router

                                    -- NOT acting as
                  notForwarding(2)  -- a router
                 }
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
        "The indication of whether this entity is acting
        as an IPv6 router in respect to the forwarding of
        datagrams received by, but not addressed to, this
        entity.  IPv6 routers forward datagrams.  IPv6
        hosts do not (except those source-routed via the
        host).

        Note that for some managed nodes, this object may
        take on only a subset of the values possible.
        Accordingly, it is appropriate for an agent to
        return a `wrongValue' response if a management
        station attempts to change this object to an
        inappropriate value."
      ::= { ipv6MIBObjects 1 }

 ipv6DefaultHopLimit OBJECT-TYPE
     SYNTAX      INTEGER(0..255)
     MAX-ACCESS  read-write
      STATUS     current
     DESCRIPTION
        "The default value inserted into the Hop Limit
        field of the IPv6 header of datagrams originated
        at this entity, whenever a Hop Limit value is not
        supplied by the transport layer protocol."
     DEFVAL  { 64 }
     ::= { ipv6MIBObjects 2 }

ipv6Interfaces OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The number of IPv6 interfaces (regardless of
        their current state) present on this system."
     ::= { ipv6MIBObjects 3 }

ipv6IfTableLastChange OBJECT-TYPE
     SYNTAX      TimeStamp
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The value of sysUpTime at the time of the last
       insertion or removal of an entry in the
       ipv6IfTable. If the number of entries has been
       unchanged since the last re-initialization of
       the local network management subsystem, then this
       object contains a zero value."
     ::= { ipv6MIBObjects 4 }

-- the IPv6 Interfaces table

ipv6IfTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF Ipv6IfEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
       "The IPv6 Interfaces table contains information
       on the entity's internetwork-layer interfaces.
       An IPv6 interface constitutes a logical network
       layer attachment to the layer immediately below

       IPv6 including internet layer 'tunnels', such as
       tunnels over IPv4 or IPv6 itself."
     ::= { ipv6MIBObjects 5 }

 ipv6IfEntry OBJECT-TYPE
     SYNTAX     Ipv6IfEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
       "An interface entry containing objects
        about a particular IPv6 interface."
     INDEX   { ipv6IfIndex }
     ::= { ipv6IfTable 1 }

 Ipv6IfEntry ::= SEQUENCE {
         ipv6IfIndex              Ipv6IfIndex,
         ipv6IfDescr              DisplayString,
         ipv6IfLowerLayer         VariablePointer,
         ipv6IfEffectiveMtu       Unsigned32,
         ipv6IfReasmMaxSize       Unsigned32,
         ipv6IfIdentifier         Ipv6AddressIfIdentifier,
         ipv6IfIdentifierLength   INTEGER,
         ipv6IfPhysicalAddress    PhysAddress,
         ipv6IfAdminStatus        INTEGER,
         ipv6IfOperStatus         INTEGER,
         ipv6IfLastChange         TimeStamp
     }

 ipv6IfIndex OBJECT-TYPE
     SYNTAX     Ipv6IfIndex
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
       "A unique non-zero value identifying
        the particular IPv6 interface."
     ::= { ipv6IfEntry 1 }

 ipv6IfDescr OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
       "A textual string containing information about the
       interface.  This string may be set by the network
       management system."
     ::= { ipv6IfEntry 2 }

 ipv6IfLowerLayer OBJECT-TYPE
    SYNTAX      VariablePointer
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "This object identifies the protocol layer over
       which this network interface operates.  If this
       network interface operates over the data-link
       layer, then the value of this object refers to an
       instance of ifIndex [6]. If this network interface
       operates over an IPv4 interface, the value of this
       object refers to an instance of ipAdEntAddr [3].

       If this network interface operates over another
       IPv6 interface, the value of this object refers to
       an instance of ipv6IfIndex.  If this network
       interface is not currently operating over an active
       protocol layer, then the value of this object
       should be set to the OBJECT ID { 0 0 }."
    ::= { ipv6IfEntry 3 }

 ipv6IfEffectiveMtu OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "octets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The size of the largest IPv6 packet which can be
      sent/received on the interface, specified in
      octets."
 ::= { ipv6IfEntry 4 }

 ipv6IfReasmMaxSize OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    UNITS       "octets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The size of the largest IPv6 datagram which this
      entity can re-assemble from incoming IPv6 fragmented
      datagrams received on this interface."
 ::= { ipv6IfEntry 5 }

 ipv6IfIdentifier OBJECT-TYPE
     SYNTAX      Ipv6AddressIfIdentifier
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
        "The Interface Identifier for this interface that

        is (at least) unique on the link this interface is
        attached to. The Interface Identifier is combined
        with an address prefix to form an interface address.

        By default, the Interface Identifier is autoconfigured
        according to the rules of the link type this
        interface is attached to."
     ::= { ipv6IfEntry 6 }

 ipv6IfIdentifierLength OBJECT-TYPE
     SYNTAX      INTEGER (0..64)
     UNITS       "bits"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "The length of the Interface Identifier in bits."
     ::= { ipv6IfEntry 7 }

 ipv6IfPhysicalAddress OBJECT-TYPE
     SYNTAX      PhysAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The interface's physical address. For example, for
       an IPv6 interface attached to an 802.x link, this
       object normally contains a MAC address. Note that
       in some cases this address may differ from the
       address of the interface's protocol sub-layer.  The
       interface's media-specific MIB must define the bit
       and byte ordering and the format of the value of
       this object. For interfaces which do not have such
       an address (e.g., a serial line), this object should
       contain an octet string of zero length."
     ::= { ipv6IfEntry 8 }

ipv6IfAdminStatus OBJECT-TYPE
    SYNTAX  INTEGER {
             up(1),       -- ready to pass packets
             down(2)
            }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "The desired state of the interface.  When a managed
      system initializes,  all IPv6 interfaces start with
      ipv6IfAdminStatus in the down(2) state.  As a result
      of either explicit management action or per
      configuration information retained by the managed

      system,  ipv6IfAdminStatus is then changed to
      the up(1) state (or remains in the down(2) state)."
    ::= { ipv6IfEntry 9 }

ipv6IfOperStatus OBJECT-TYPE
    SYNTAX  INTEGER {
             up(1),             -- ready to pass packets

             down(2),
             noIfIdentifier(3), -- no interface identifier

                                -- status can not be
                                -- determined for some
             unknown(4),        -- reason

                                -- some component is
             notPresent(5)      -- missing
            }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The current operational state of the interface.
      The noIfIdentifier(3) state indicates that no valid
      Interface Identifier is assigned to the interface.
      This state usually indicates that the link-local
      interface address failed Duplicate Address Detection.
      If ipv6IfAdminStatus is down(2) then ipv6IfOperStatus
      should be down(2).  If ipv6IfAdminStatus is changed
      to up(1) then ipv6IfOperStatus should change to up(1)
      if the interface is ready to transmit and receive
      network traffic; it should remain in the down(2) or
      noIfIdentifier(3) state if and only if there is a
      fault that prevents it from going to the up(1) state;
      it should remain in the notPresent(5) state if
      the interface has missing (typically, lower layer)
      components."
    ::= { ipv6IfEntry 10 }

ipv6IfLastChange OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "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."
    ::= { ipv6IfEntry 11 }

 --  IPv6 Interface Statistics table

 ipv6IfStatsTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF Ipv6IfStatsEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "IPv6 interface traffic statistics."
     ::= { ipv6MIBObjects 6 }

 ipv6IfStatsEntry OBJECT-TYPE
     SYNTAX     Ipv6IfStatsEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "An interface statistics entry containing objects
         at a particular IPv6 interface."
     AUGMENTS { ipv6IfEntry }
     ::= { ipv6IfStatsTable 1 }

 Ipv6IfStatsEntry ::= SEQUENCE {
         ipv6IfStatsInReceives
             Counter32,
         ipv6IfStatsInHdrErrors
             Counter32,
         ipv6IfStatsInTooBigErrors
             Counter32,
         ipv6IfStatsInNoRoutes
             Counter32,
         ipv6IfStatsInAddrErrors
             Counter32,
         ipv6IfStatsInUnknownProtos
             Counter32,
         ipv6IfStatsInTruncatedPkts
             Counter32,
         ipv6IfStatsInDiscards
             Counter32,
         ipv6IfStatsInDelivers
             Counter32,
         ipv6IfStatsOutForwDatagrams
             Counter32,
         ipv6IfStatsOutRequests
             Counter32,
         ipv6IfStatsOutDiscards

             Counter32,
         ipv6IfStatsOutFragOKs
             Counter32,
         ipv6IfStatsOutFragFails
             Counter32,
         ipv6IfStatsOutFragCreates
             Counter32,
         ipv6IfStatsReasmReqds
             Counter32,
         ipv6IfStatsReasmOKs
             Counter32,
         ipv6IfStatsReasmFails
             Counter32,
         ipv6IfStatsInMcastPkts
             Counter32,
         ipv6IfStatsOutMcastPkts
             Counter32
     }

 ipv6IfStatsInReceives OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The total number of input datagrams received by
        the interface, including those received in error."
     ::= { ipv6IfStatsEntry 1 }

 ipv6IfStatsInHdrErrors OBJECT-TYPE
     SYNTAX     Counter32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
        "The number of input datagrams discarded due to
        errors in their IPv6 headers, including version
        number mismatch, other format errors, hop count
        exceeded, errors discovered in processing their
        IPv6 options, etc."
     ::= { ipv6IfStatsEntry 2 }

 ipv6IfStatsInTooBigErrors OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The number of input datagrams that could not be
       forwarded because their size exceeded the link MTU
       of outgoing interface."
     ::= { ipv6IfStatsEntry 3 }

 ipv6IfStatsInNoRoutes OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of input datagrams discarded because no
         route could be found to transmit them to their
         destination."
     ::= { ipv6IfStatsEntry 4 }

 ipv6IfStatsInAddrErrors OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of input datagrams discarded because
        the IPv6 address in their IPv6 header's destination
        field was not a valid address to be received at
        this entity.  This count includes invalid
        addresses (e.g., ::0) and unsupported addresses
        (e.g., addresses with unallocated prefixes).  For
        entities which are not IPv6 routers and therefore
        do not forward datagrams, this counter includes
        datagrams discarded because the destination address
        was not a local address."
     ::= { ipv6IfStatsEntry 5 }

 ipv6IfStatsInUnknownProtos OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of locally-addressed datagrams
        received successfully but discarded because of an
        unknown or unsupported protocol. This counter is
        incremented at the interface to which these
        datagrams were addressed which might not be
        necessarily the input interface for some of
        the datagrams."
     ::= { ipv6IfStatsEntry 6 }

 ipv6IfStatsInTruncatedPkts OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of input datagrams discarded because
         datagram frame didn't carry enough data."
     ::= { ipv6IfStatsEntry 7 }

 ipv6IfStatsInDiscards OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of input IPv6 datagrams for which no
        problems were encountered to prevent their
        continued processing, but which were discarded
        (e.g., for lack of buffer space).  Note that this
        counter does not include any datagrams discarded
        while awaiting re-assembly."
     ::= { ipv6IfStatsEntry 8 }

 ipv6IfStatsInDelivers OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
      "The total number of datagrams successfully
      delivered to IPv6 user-protocols (including ICMP).
      This counter is incremented at the interface to
      which these datagrams were addressed which might
      not be necessarily the input interface for some of
      the datagrams."
     ::= { ipv6IfStatsEntry 9 }

 ipv6IfStatsOutForwDatagrams OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of output datagrams which this
        entity received and forwarded to their final
        destinations.  In entities which do not act
        as IPv6 routers, this counter will include
        only those packets which were Source-Routed
        via this entity, and the Source-Route
        processing was successful.  Note that for
        a successfully forwarded datagram the counter
        of the outgoing interface is incremented."
     ::= { ipv6IfStatsEntry 10 }

 ipv6IfStatsOutRequests OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
      "The total number of IPv6 datagrams which local IPv6
      user-protocols (including ICMP) supplied to IPv6 in
      requests for transmission.  Note that this counter
      does not include any datagrams counted in
      ipv6IfStatsOutForwDatagrams."
     ::= { ipv6IfStatsEntry 11 }

 ipv6IfStatsOutDiscards OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
         "The number of output IPv6 datagrams for which no
         problem was encountered to prevent their
         transmission to their destination, but which were
         discarded (e.g., for lack of buffer space).  Note
         that this counter would include datagrams counted
         in ipv6IfStatsOutForwDatagrams if any such packets
         met this (discretionary) discard criterion."
     ::= { ipv6IfStatsEntry 12 }

 ipv6IfStatsOutFragOKs OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of IPv6 datagrams that have been
         successfully fragmented at this output interface."
     ::= { ipv6IfStatsEntry 13 }

 ipv6IfStatsOutFragFails OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of IPv6 datagrams that have been
         discarded because they needed to be fragmented
         at this output interface but could not be."
     ::= { ipv6IfStatsEntry 14 }

 ipv6IfStatsOutFragCreates OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of output datagram fragments that have
         been generated as a result of fragmentation at
         this output interface."
     ::= { ipv6IfStatsEntry 15 }

 ipv6IfStatsReasmReqds OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of IPv6 fragments received which needed
         to be reassembled at this interface.  Note that this
         counter is incremented at the interface to which
         these fragments were addressed which might not
         be necessarily the input interface for some of
         the fragments."
     ::= { ipv6IfStatsEntry 16 }

 ipv6IfStatsReasmOKs OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The number of IPv6 datagrams successfully
       reassembled.  Note that this counter is incremented
       at the interface to which these datagrams were
       addressed which might not be necessarily the input
       interface for some of the fragments."
     ::= { ipv6IfStatsEntry 17 }

 ipv6IfStatsReasmFails OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of failures detected by the IPv6 re-
        assembly algorithm (for whatever reason: timed
        out, errors, etc.).  Note that this is not
        necessarily a count of discarded IPv6 fragments
        since some algorithms (notably the algorithm in
        RFC 815) can lose track of the number of fragments
        by combining them as they are received.
        This counter is incremented at the interface to which
        these fragments were addressed which might not be
        necessarily the input interface for some of the
        fragments."
     ::= { ipv6IfStatsEntry 18 }

 ipv6IfStatsInMcastPkts OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS     current
     DESCRIPTION
        "The number of multicast packets received
         by the interface"
     ::= { ipv6IfStatsEntry 19 }

 ipv6IfStatsOutMcastPkts OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "The number of multicast packets transmitted
         by the interface"
     ::= { ipv6IfStatsEntry 20 }

 -- Address Prefix table

 -- The IPv6 Address Prefix table contains information on
 -- the entity's IPv6 Address Prefixes that are associated
 -- with IPv6 interfaces.

 ipv6AddrPrefixTable OBJECT-TYPE
     SYNTAX  SEQUENCE OF Ipv6AddrPrefixEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "The list of IPv6 address prefixes of
         IPv6 interfaces."
     ::= { ipv6MIBObjects 7 }

 ipv6AddrPrefixEntry OBJECT-TYPE
     SYNTAX  Ipv6AddrPrefixEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "An interface entry containing objects of
         a particular IPv6 address prefix."
     INDEX   { ipv6IfIndex,
               ipv6AddrPrefix,
               ipv6AddrPrefixLength }
     ::= { ipv6AddrPrefixTable 1 }

 Ipv6AddrPrefixEntry ::= SEQUENCE {

      ipv6AddrPrefix                     Ipv6AddressPrefix,
      ipv6AddrPrefixLength               INTEGER (0..128),
      ipv6AddrPrefixOnLinkFlag           TruthValue,
      ipv6AddrPrefixAutonomousFlag       TruthValue,
      ipv6AddrPrefixAdvPreferredLifetime Unsigned32,
      ipv6AddrPrefixAdvValidLifetime     Unsigned32
     }

 ipv6AddrPrefix OBJECT-TYPE
     SYNTAX      Ipv6AddressPrefix
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "The prefix associated with the this interface."
     ::= { ipv6AddrPrefixEntry 1 }

 ipv6AddrPrefixLength OBJECT-TYPE
     SYNTAX      INTEGER (0..128)
     UNITS       "bits"
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "The length of the prefix (in bits)."
     ::= { ipv6AddrPrefixEntry 2 }

 ipv6AddrPrefixOnLinkFlag OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "This object has the value 'true(1)', if this
       prefix can be used  for on-link determination
       and the value 'false(2)' otherwise."
     ::= { ipv6AddrPrefixEntry 3 }

 ipv6AddrPrefixAutonomousFlag OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "Autonomous address configuration flag. When
       true(1), indicates that this prefix can be used
       for autonomous address configuration (i.e. can
       be used to form a local interface address).
       If false(2), it is not used to autoconfigure
       a local interface address."
     ::= { ipv6AddrPrefixEntry 4 }

 ipv6AddrPrefixAdvPreferredLifetime OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
        "It is the length of time in seconds that this
        prefix will remain preferred, i.e. time until
        deprecation.  A value of 4,294,967,295 represents
        infinity.

        The address generated from a deprecated prefix
        should no longer be used as a source address in
        new communications, but packets received on such
        an interface are processed as expected."
     ::= { ipv6AddrPrefixEntry 5 }

 ipv6AddrPrefixAdvValidLifetime OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "It is the length of time in seconds that this
       prefix will remain valid, i.e. time until
       invalidation.  A value of 4,294,967,295 represents
       infinity.

       The address generated from an invalidated prefix
       should not appear as the destination or source
       address of a packet."
     ::= { ipv6AddrPrefixEntry 6 }

 -- the IPv6 Address table

 -- The IPv6 address table contains this node's IPv6
 -- addressing information.

 ipv6AddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ipv6AddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "The table of addressing information relevant to
      this node's interface addresses."
    ::= { ipv6MIBObjects 8 }

 ipv6AddrEntry OBJECT-TYPE
    SYNTAX      Ipv6AddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The addressing information for one of this
        node's interface addresses."
    INDEX   { ipv6IfIndex, ipv6AddrAddress }
    ::= { ipv6AddrTable 1 }

 Ipv6AddrEntry ::=
    SEQUENCE {
         ipv6AddrAddress        Ipv6Address,
         ipv6AddrPfxLength      INTEGER,
         ipv6AddrType           INTEGER,
         ipv6AddrAnycastFlag    TruthValue,
         ipv6AddrStatus         INTEGER
        }

 ipv6AddrAddress OBJECT-TYPE
    SYNTAX      Ipv6Address
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "The IPv6 address to which this entry's addressing
      information pertains."
    ::= { ipv6AddrEntry 1 }

 ipv6AddrPfxLength OBJECT-TYPE
    SYNTAX      INTEGER(0..128)
    UNITS       "bits"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "The length of the prefix (in bits) associated with
      the IPv6 address of this entry."
    ::= { ipv6AddrEntry 2 }

 ipv6AddrType OBJECT-TYPE
    SYNTAX      INTEGER {
                        -- address has been formed
                        -- using stateless
         stateless(1),  -- autoconfiguration

                        -- address has been acquired
                        -- by stateful means
                        -- (e.g. DHCPv6, manual
         stateful(2),   -- configuration)

                        -- type can not be determined
         unknown(3)     -- for some reason.
       }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The type of address. Note that 'stateless(1)'
       refers to an address that was statelessly
       autoconfigured; 'stateful(2)' refers to a address
       which was acquired by via a stateful protocol
       (e.g. DHCPv6, manual configuration)."
    ::= { ipv6AddrEntry 3 }

 ipv6AddrAnycastFlag OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "This object has the value 'true(1)', if this
       address is an anycast address and the value
       'false(2)' otherwise."
     ::= { ipv6AddrEntry 4 }

 ipv6AddrStatus OBJECT-TYPE
    SYNTAX      INTEGER {
             preferred(1),
             deprecated(2),
             invalid(3),
             inaccessible(4),
             unknown(5)   -- status can not be determined
                          -- for some reason.
            }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "Address status.  The preferred(1) state indicates
      that this is a valid address that can appear as
      the destination or source address of a packet.
      The deprecated(2) state indicates that this is
      a valid but deprecated address that should no longer
      be used as a source address in new communications,
      but packets addressed to such an address are
      processed as expected. The invalid(3) state indicates
      that this is not valid address which should not

      appear as the destination or source address of
      a packet. The inaccessible(4) state indicates that
      the address is not accessible because the interface
      to which this address is assigned is not operational."
    ::= { ipv6AddrEntry 5 }

 -- IPv6 Routing objects

 ipv6RouteNumber OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The number of current ipv6RouteTable entries.
       This is primarily to avoid having to read
       the table in order to determine this number."
     ::= { ipv6MIBObjects 9 }

 ipv6DiscardedRoutes OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The number of routing entries which were chosen
        to be discarded even though they are valid.  One
        possible reason for discarding such an entry could
        be to free-up buffer space for other routing
        entries."
     ::= { ipv6MIBObjects 10 }

 -- IPv6 Routing table

 ipv6RouteTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF Ipv6RouteEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
       "IPv6 Routing table. This table contains
       an entry for each valid IPv6 unicast route
       that can be used for packet forwarding
       determination."
     ::= { ipv6MIBObjects 11 }

 ipv6RouteEntry OBJECT-TYPE
     SYNTAX     Ipv6RouteEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "A routing entry."
     INDEX   { ipv6RouteDest,
               ipv6RoutePfxLength,
               ipv6RouteIndex }
     ::= { ipv6RouteTable 1 }

 Ipv6RouteEntry ::= SEQUENCE {
         ipv6RouteDest           Ipv6Address,
         ipv6RoutePfxLength      INTEGER,
         ipv6RouteIndex          Unsigned32,
         ipv6RouteIfIndex        Ipv6IfIndexOrZero,
         ipv6RouteNextHop        Ipv6Address,
         ipv6RouteType           INTEGER,
         ipv6RouteProtocol       INTEGER,
         ipv6RoutePolicy         Integer32,
         ipv6RouteAge            Unsigned32,
         ipv6RouteNextHopRDI     Unsigned32,
         ipv6RouteMetric         Unsigned32,
         ipv6RouteWeight         Unsigned32,
         ipv6RouteInfo           RowPointer,
         ipv6RouteValid          TruthValue
     }

 ipv6RouteDest OBJECT-TYPE
     SYNTAX     Ipv6Address
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
       "The destination IPv6 address of this route.
       This object may not take a Multicast address
       value."
     ::= { ipv6RouteEntry 1 }

 ipv6RoutePfxLength OBJECT-TYPE
     SYNTAX     INTEGER(0..128)
     UNITS      "bits"
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
       "Indicates the prefix length of the destination
       address."
     ::= { ipv6RouteEntry 2 }

 ipv6RouteIndex OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
       "The value which uniquely identifies the route
       among the routes to the same network layer
       destination.  The way this value is chosen is
       implementation specific but it must be unique for
       ipv6RouteDest/ipv6RoutePfxLength pair and remain
       constant for the life of the route."
     ::= { ipv6RouteEntry 3 }

 ipv6RouteIfIndex OBJECT-TYPE
     SYNTAX     Ipv6IfIndexOrZero
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
       "The index value which uniquely identifies the local
       interface through which the next hop of this
       route should be reached.  The interface identified
       by a particular value of this index is the same
       interface as identified by the same value of
       ipv6IfIndex.  For routes of the discard type this
       value can be zero."
     ::= { ipv6RouteEntry 4 }

 ipv6RouteNextHop OBJECT-TYPE
     SYNTAX     Ipv6Address
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
       "On remote routes, the address of the next
       system en route;  otherwise, ::0
       ('00000000000000000000000000000000'H in ASN.1
       string representation)."
     ::= { ipv6RouteEntry 5 }

 ipv6RouteType OBJECT-TYPE
     SYNTAX     INTEGER {
        other(1),     -- none of the following

                      -- an route indicating that
                      -- packets to destinations
                      -- matching this route are
        discard(2),   -- to be discarded

                      -- route to directly
        local(3),     -- connected (sub-)network

                      -- route to a remote

        remote(4)     -- destination

     }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
        "The type of route. Note that 'local(3)' refers
        to a route for which the next hop is the final
        destination; 'remote(4)' refers to a route for
        which  the  next  hop is not the final
        destination; 'discard(2)' refers to a route
        indicating that packets to destinations matching
        this route are to be discarded (sometimes called
        black-hole route)."
     ::= { ipv6RouteEntry 6 }

 ipv6RouteProtocol OBJECT-TYPE
     SYNTAX     INTEGER {
       other(1),   -- none of the following

                   -- non-protocol information,
                   -- e.g., manually configured
       local(2),   -- entries

       netmgmt(3), -- static route

                   -- obtained via Neighbor
                   -- Discovery protocol,
       ndisc(4),   -- e.g., result of Redirect

                   -- the following are all
                   -- dynamic routing protocols
       rip(5),     -- RIPng
       ospf(6),    -- Open Shortest Path First
       bgp(7),     -- Border Gateway Protocol
       idrp(8),    -- InterDomain Routing Protocol
       igrp(9)     -- InterGateway Routing Protocol
     }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
       "The routing mechanism via which this route was
       learned."
     ::= { ipv6RouteEntry 7 }

 ipv6RoutePolicy OBJECT-TYPE
     SYNTAX     Integer32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
      "The general set of conditions that would cause the
      selection of one multipath route (set of next hops
      for a given destination) is referred to as 'policy'.
      Unless the mechanism indicated by ipv6RouteProtocol
      specified otherwise, the policy specifier is the
      8-bit Traffic Class field of the IPv6 packet header
      that is zero extended at the left to a 32-bit value.

      Protocols defining 'policy' otherwise must either
      define a set of values which are valid for
      this object or must implement an integer-
      instanced  policy table for which this object's
      value acts as an index."
     ::= { ipv6RouteEntry 8 }

 ipv6RouteAge OBJECT-TYPE
     SYNTAX     Unsigned32
     UNITS      "seconds"
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
        "The number of seconds since this route was last
        updated or otherwise determined to be correct.
        Note that no semantics of `too old' can be implied
        except through knowledge of the routing protocol
        by which the route was learned."
     ::= { ipv6RouteEntry 9 }

 ipv6RouteNextHopRDI OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
        "The Routing Domain ID of the Next Hop.
        The  semantics of this object are determined by
        the routing-protocol specified in  the  route's
        ipv6RouteProtocol value.   When  this object is
        unknown or not relevant its value should be set
        to zero."
     ::= { ipv6RouteEntry 10 }

 ipv6RouteMetric OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
        "The routing metric for this route. The
        semantics of this metric are determined by the
        routing protocol specified in the route's
        ipv6RouteProtocol value.  When this is unknown
        or not relevant to the protocol indicated by
        ipv6RouteProtocol, the object value should be
        set to its maximum value (4,294,967,295)."
     ::= { ipv6RouteEntry 11 }

 ipv6RouteWeight OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
        "The system internal weight value for this route.
        The semantics of this value are determined by
        the implementation specific rules. Generally,
        within routes with the same ipv6RoutePolicy value,
        the lower the weight value the more preferred is
        the route."
     ::= { ipv6RouteEntry 12 }

 ipv6RouteInfo OBJECT-TYPE
     SYNTAX     RowPointer
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
        "A reference to MIB definitions specific to the
        particular routing protocol which is responsible
        for this route, as determined by the  value
        specified  in the route's ipv6RouteProto value.
        If this information is not present,  its  value
        should be set to the OBJECT ID { 0 0 },
        which is a syntactically valid object  identifier,
        and any implementation conforming to ASN.1
        and the Basic Encoding Rules must  be  able  to
        generate and recognize this value."
     ::= { ipv6RouteEntry 13 }

 ipv6RouteValid OBJECT-TYPE
     SYNTAX     TruthValue
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
        "Setting this object to the value 'false(2)' has
        the effect of invalidating the corresponding entry
        in the ipv6RouteTable object.  That is, it
        effectively disassociates the destination

        identified with said entry from the route
        identified with said entry.  It is an
        implementation-specific matter as to whether the
        agent removes an invalidated entry from the table.
        Accordingly, management stations must be prepared
        to receive tabular information from agents that
        corresponds to entries not currently in use.
        Proper interpretation of such entries requires
        examination of the relevant ipv6RouteValid
        object."
     DEFVAL  { true }
     ::= { ipv6RouteEntry 14 }

 -- IPv6 Address Translation table

 ipv6NetToMediaTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF Ipv6NetToMediaEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "The IPv6 Address Translation table used for
       mapping from IPv6 addresses to physical addresses.

       The IPv6 address translation table contain the
       Ipv6Address to `physical' address equivalencies.
       Some interfaces do not use translation tables
       for determining address equivalencies; if all
       interfaces are of this type, then the Address
       Translation table is empty, i.e., has zero
       entries."
     ::= { ipv6MIBObjects 12 }

 ipv6NetToMediaEntry OBJECT-TYPE
     SYNTAX     Ipv6NetToMediaEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
       "Each entry contains one IPv6 address to `physical'
       address equivalence."
     INDEX   { ipv6IfIndex,
               ipv6NetToMediaNetAddress }
     ::= { ipv6NetToMediaTable 1 }

 Ipv6NetToMediaEntry ::= SEQUENCE {
         ipv6NetToMediaNetAddress
             Ipv6Address,
         ipv6NetToMediaPhysAddress

             PhysAddress,
         ipv6NetToMediaType
             INTEGER,
         ipv6IfNetToMediaState
             INTEGER,
         ipv6IfNetToMediaLastUpdated
             TimeStamp,
         ipv6NetToMediaValid
             TruthValue
     }

 ipv6NetToMediaNetAddress OBJECT-TYPE
     SYNTAX     Ipv6Address
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
        "The IPv6 Address corresponding to
        the media-dependent `physical' address."
     ::= { ipv6NetToMediaEntry 1 }

 ipv6NetToMediaPhysAddress OBJECT-TYPE
     SYNTAX     PhysAddress
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
       "The media-dependent `physical' address."
     ::= { ipv6NetToMediaEntry 2 }

 ipv6NetToMediaType OBJECT-TYPE
     SYNTAX     INTEGER {
                 other(1),    -- none of the following
                 dynamic(2),  -- dynamically resolved
                 static(3),   -- statically configured
                 local(4)     -- local interface
                }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
             "The type of the mapping. The 'dynamic(2)' type
             indicates that the IPv6 address to physical
             addresses mapping has been dynamically
             resolved using the IPv6 Neighbor Discovery
             protocol. The static(3)' types indicates that
             the mapping has been statically configured.
             The local(4) indicates that the mapping is
             provided for an entity's own interface address."
     ::= { ipv6NetToMediaEntry 3 }

ipv6IfNetToMediaState OBJECT-TYPE
    SYNTAX      INTEGER {
             reachable(1), -- confirmed reachability

             stale(2),     -- unconfirmed reachability

             delay(3),     -- waiting for reachability
                           -- confirmation before entering
                           -- the probe state

             probe(4),     -- actively probing

             invalid(5),   -- an invalidated mapping

             unknown(6)    -- state can not be determined
                           -- for some reason.
            }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Neighbor Unreachability Detection [8] state
        for the interface when the address mapping in
        this entry is used."
    ::= { ipv6NetToMediaEntry 4 }

ipv6IfNetToMediaLastUpdated OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime at the time this entry
        was last updated.  If this entry was updated prior
        to the last re-initialization of the local network
        management subsystem, then this object contains
        a zero value."
    ::= { ipv6NetToMediaEntry 5 }

 ipv6NetToMediaValid OBJECT-TYPE
     SYNTAX     TruthValue
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
      "Setting this object to the value 'false(2)' has
      the effect of invalidating the corresponding entry
      in the ipv6NetToMediaTable.  That is, it effectively
      disassociates the interface identified with said
      entry from the mapping identified with said entry.
      It is an implementation-specific matter as to

      whether the agent removes an invalidated entry
      from the table.  Accordingly, management stations
      must be prepared to receive tabular information
      from agents that corresponds to entries not
      currently in use.  Proper interpretation of such
      entries requires examination of the relevant
      ipv6NetToMediaValid object."
     DEFVAL  { true }
     ::= { ipv6NetToMediaEntry 6 }

-- definition of IPv6-related notifications.
-- Note that we need ipv6NotificationPrefix with the 0
-- sub-identifier to make this MIB to translate to
-- an SNMPv1 format in a reversible way. For example
-- it is needed for proxies that convert SNMPv1 traps
-- to SNMPv2 notifications without MIB knowledge.

ipv6Notifications      OBJECT IDENTIFIER
     ::= { ipv6MIB 2 }
ipv6NotificationPrefix OBJECT IDENTIFIER
     ::= { ipv6Notifications 0 }

ipv6IfStateChange NOTIFICATION-TYPE
     OBJECTS {
              ipv6IfDescr,
              ipv6IfOperStatus -- the new state of the If.
             }
     STATUS             current
     DESCRIPTION
        "An ipv6IfStateChange notification signifies
        that there has been a change in the state of
        an ipv6 interface.  This notification should
        be generated when the interface's operational
        status transitions to or from the up(1) state."
     ::= { ipv6NotificationPrefix 1 }

-- conformance information

ipv6Conformance OBJECT IDENTIFIER ::= { ipv6MIB 3 }

ipv6Compliances OBJECT IDENTIFIER ::= { ipv6Conformance 1 }
ipv6Groups      OBJECT IDENTIFIER ::= { ipv6Conformance 2 }

-- compliance statements

ipv6Compliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
      "The compliance statement for SNMPv2 entities which
      implement ipv6 MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { ipv6GeneralGroup,
                           ipv6NotificationGroup }
          OBJECT    ipv6Forwarding
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6DefaultHopLimit
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6IfDescr
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6IfIdentifier
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6IfIdentifierLength
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"

          OBJECT    ipv6IfAdminStatus
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6RouteValid
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write
                access to this object"
          OBJECT    ipv6NetToMediaValid
            MIN-ACCESS  read-only
            DESCRIPTION
               "An agent is not required to provide write

                access to this object"
    ::= { ipv6Compliances 1 }

ipv6GeneralGroup OBJECT-GROUP
    OBJECTS { ipv6Forwarding,
              ipv6DefaultHopLimit,
              ipv6Interfaces,
              ipv6IfTableLastChange,
              ipv6IfDescr,
              ipv6IfLowerLayer,
              ipv6IfEffectiveMtu,
              ipv6IfReasmMaxSize,
              ipv6IfIdentifier,
              ipv6IfIdentifierLength,
              ipv6IfPhysicalAddress,
              ipv6IfAdminStatus,
              ipv6IfOperStatus,
              ipv6IfLastChange,
              ipv6IfStatsInReceives,
              ipv6IfStatsInHdrErrors,
              ipv6IfStatsInTooBigErrors,
              ipv6IfStatsInNoRoutes,
              ipv6IfStatsInAddrErrors,
              ipv6IfStatsInUnknownProtos,
              ipv6IfStatsInTruncatedPkts,
              ipv6IfStatsInDiscards,
              ipv6IfStatsInDelivers,
              ipv6IfStatsOutForwDatagrams,
              ipv6IfStatsOutRequests,
              ipv6IfStatsOutDiscards,
              ipv6IfStatsOutFragOKs,
              ipv6IfStatsOutFragFails,
              ipv6IfStatsOutFragCreates,
              ipv6IfStatsReasmReqds,
              ipv6IfStatsReasmOKs,
              ipv6IfStatsReasmFails,
              ipv6IfStatsInMcastPkts,
              ipv6IfStatsOutMcastPkts,
              ipv6AddrPrefixOnLinkFlag,
              ipv6AddrPrefixAutonomousFlag,
              ipv6AddrPrefixAdvPreferredLifetime,
              ipv6AddrPrefixAdvValidLifetime,
              ipv6AddrPfxLength,
              ipv6AddrType,
              ipv6AddrAnycastFlag,
              ipv6AddrStatus,
              ipv6RouteNumber,
              ipv6DiscardedRoutes,
              ipv6RouteIfIndex,
              ipv6RouteNextHop,
              ipv6RouteType,
              ipv6RouteProtocol,
              ipv6RoutePolicy,
              ipv6RouteAge,
              ipv6RouteNextHopRDI,
              ipv6RouteMetric,
              ipv6RouteWeight,
              ipv6RouteInfo,
              ipv6RouteValid,
              ipv6NetToMediaPhysAddress,
              ipv6NetToMediaType,
              ipv6IfNetToMediaState,
              ipv6IfNetToMediaLastUpdated,
              ipv6NetToMediaValid }
    STATUS    current
    DESCRIPTION
         "The IPv6 group of objects providing for basic
          management of IPv6 entities."
    ::= { ipv6Groups 1 }

ipv6NotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS { ipv6IfStateChange }
    STATUS    current
    DESCRIPTION
         "The notification that an IPv6 entity is required
          to implement."
    ::= { ipv6Groups 2 }

 END