summaryrefslogtreecommitdiff
path: root/MIBS/DOT3-OAM-MIB
blob: 29bddad797fa01533ae2eb77b2fc704af62acfdb (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
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
   DOT3-OAM-MIB DEFINITIONS ::= BEGIN

    IMPORTS
      MODULE-IDENTITY, mib-2, OBJECT-TYPE, Counter32, Unsigned32,
        Integer32, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
        -- from [RFC2578]
      TEXTUAL-CONVENTION, MacAddress, TimeStamp, TruthValue

        FROM SNMPv2-TC
        -- from [RFC2579]
      CounterBasedGauge64
        FROM HCNUM-TC
        -- from [RFC2856]
      ifIndex
        FROM IF-MIB
        -- from [RFC2863]
      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF;
        -- from [RFC2580]

      dot3OamMIB MODULE-IDENTITY
        LAST-UPDATED "200706140000Z"  -- June 14,2007"
        ORGANIZATION
          "IETF Ethernet Interfaces and Hub MIB Working Group"
        CONTACT-INFO
          "WG Charter:
            http://www.ietf.org/html.charters/hubmib-charter.html
          Mailing lists:
            General Discussion: hubmib@ietf.org
            To Subscribe: hubmib-requests@ietf.org
            In Body: subscribe your_email_address
          Chair: Bert Wijnen
            Alcatel-Lucent
            Email: bwijnen at alcatel-lucent dot com
          Editor: Matt Squire
            Hatteras Networks
            E-mail: msquire at hatterasnetworks dot com
          "
        DESCRIPTION
          "The MIB module for managing the new Ethernet OAM features
          introduced by the Ethernet in the First Mile taskforce (IEEE
          802.3ah).  The functionality presented here is based on IEEE
          802.3ah [802.3ah], released in October, 2004.  [802.3ah] was
          prepared as an addendum to the standing version of IEEE 802.3
          [802.3-2002].  Since then, [802.3ah] has been
          merged into the base IEEE 802.3 specification in [802.3-2005].

          In particular, this MIB focuses on the new OAM functions
          introduced in Clause 57 of [802.3ah].  The OAM functionality
          of Clause 57 is controlled by new management attributes
          introduced in Clause 30 of [802.3ah].  The OAM functions are
          not specific to any particular Ethernet physical layer, and
          can be generically applied to any Ethernet interface of
          [802.3-2002].

          An Ethernet OAM protocol data unit is a valid Ethernet frame
          with a destination MAC address equal to the reserved MAC
          address for Slow Protocols (See 43B of [802.3ah]), a
          lengthOrType field equal to the reserved type for Slow
          Protocols, and a Slow Protocols subtype equal to that of the
          subtype reserved for Ethernet OAM.  OAMPDU is used throughout
          this document as an abbreviation for Ethernet OAM protocol
          data unit.

          The following reference is used throughout this MIB module:
            [802.3ah] refers to:
              IEEE Std 802.3ah-2004: 'Draft amendment to -
              Information technology - Telecommunications and
              information exchange between systems - Local and
              metropolitan area networks - Specific requirements - Part
              3: Carrier sense multiple access with collision detection
              (CSMA/CD) access method and physical layer specifications
              - Media Access Control Parameters, Physical Layers and
              Management Parameters for subscriber access networks',
              October 2004.

            [802.3-2002] refers to:
              IEEE Std 802.3-2002:
              'Information technology - Telecommunications and
              information exchange between systems - Local and
              metropolitan area networks - Specific requirements - Part
              3: Carrier sense multiple access with collision detection
              (CSMA/CD) access method and physical layer specifications
              - Media Access Control Parameters, Physical Layers and
              Management Parameters for subscriber access networks',
              March 2002.

            [802.3-2005] refers to:
              IEEE Std 802.3-2005:
              'Information technology - Telecommunications and
              information exchange between systems - Local and
              metropolitan area networks - Specific requirements - Part
              3: Carrier sense multiple access with collision detection
              (CSMA/CD) access method and physical layer specifications
              - Media Access Control Parameters, Physical Layers and
              Management Parameters for subscriber access networks',
              December 2005.

            [802-2001] refers to:
              'IEEE Standard for LAN/MAN (Local Area
              Network/Metropolitan Area Network): Overview and
              Architecture', IEEE 802, June 2001.

          Copyright (c) The IETF Trust (2007).  This version of
          this MIB module is part of RFC 4878; See the RFC itself for
          full legal notices. "

        REVISION    "200706140000Z"  -- June 14, 2007"
        DESCRIPTION "Initial version, published as RFC 4878."
         ::= { mib-2 158 }

      --
      -- Sections of the Ethernet OAM MIB
      --
         dot3OamNotifications OBJECT IDENTIFIER ::= { dot3OamMIB 0 }
         dot3OamObjects       OBJECT IDENTIFIER ::= { dot3OamMIB 1 }
         dot3OamConformance   OBJECT IDENTIFIER ::= { dot3OamMIB 2 }

      --
      -- Textual conventions for the OAM MIB
      --
      EightOTwoOui ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
          "24-bit Organizationally Unique Identifier.  Information on
          OUIs can be found in IEEE 802-2001 [802-2001], Clause 9."
        SYNTAX       OCTET STRING(SIZE(3))

      -- ***************************************************************
      --
      -- Ethernet OAM Control group
      --

      dot3OamTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF Dot3OamEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "This table contains the primary controls and status for the
          OAM capabilities of an Ethernet-like interface.  There will be
          one row in this table for each Ethernet-like interface in the
          system that supports the OAM functions defined in [802.3ah].
          "
        ::= { dot3OamObjects 1 }

      dot3OamEntry OBJECT-TYPE
        SYNTAX     Dot3OamEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
          "An entry in the table that contains information on the
          Ethernet OAM function for a single Ethernet like interface.
          Entries in the table are created automatically for each
          interface supporting Ethernet OAM.  The status of the row
          entry can be determined from dot3OamOperStatus.

          A dot3OamEntry is indexed in the dot3OamTable by the ifIndex
          object of the Interfaces MIB.
          "
        INDEX       { ifIndex }
        ::= { dot3OamTable 1 }

      Dot3OamEntry ::=
        SEQUENCE {
          dot3OamAdminState                  INTEGER,
          dot3OamOperStatus                  INTEGER,
          dot3OamMode                        INTEGER,
          dot3OamMaxOamPduSize               Unsigned32,
          dot3OamConfigRevision              Unsigned32,
          dot3OamFunctionsSupported          BITS
        }

      dot3OamAdminState OBJECT-TYPE
        SYNTAX      INTEGER {
                      enabled(1),
                      disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object is used to provision the default administrative
          OAM mode for this interface.  This object represents the
          desired state of OAM for this interface.

          The dot3OamAdminState always starts in the disabled(2) state
          until an explicit management action or configuration
          information retained by the system causes a transition to the
          enabled(1) state.  When enabled(1), Ethernet OAM will attempt
          to operate over this interface.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.2"
        ::= { dot3OamEntry 1 }

      dot3OamOperStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                      disabled(1),
                      linkFault(2),
                      passiveWait(3),
                      activeSendLocal(4),
                      sendLocalAndRemote(5),
                      sendLocalAndRemoteOk(6),
                      oamPeeringLocallyRejected(7),
                      oamPeeringRemotelyRejected(8),
                      operational(9),
                      nonOperHalfDuplex(10)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "At initialization and failure conditions, two OAM entities on
          the same full-duplex Ethernet link begin a discovery phase to
          determine what OAM capabilities may be used on that link.  The
          progress of this initialization is controlled by the OA
          sublayer.

          This value is always disabled(1) if OAM is disabled on this
          interface via the dot3OamAdminState.

          If the link has detected a fault and is transmitting OAMPDUs
          with a link fault indication, the value is linkFault(2).
          Also, if the interface is not operational (ifOperStatus is
          not up(1)), linkFault(2) is returned.  Note that the object
          ifOperStatus may not be up(1) as a result of link failure or
          administrative action (ifAdminState being down(2) or
          testing(3)).

          The passiveWait(3) state is returned only by OAM entities in
          passive mode (dot3OamMode) and reflects the state in which the
          OAM entity is waiting to see if the peer device is OA
          capable.  The activeSendLocal(4) value is used by active mode
          devices (dot3OamMode) and reflects the OAM entity actively
          trying to discover whether the peer has OAM capability but has
          not yet made that determination.

          The state sendLocalAndRemote(5) reflects that the local OA
          entity has discovered the peer but has not yet accepted or
          rejected the configuration of the peer.  The local device can,
          for whatever reason, decide that the peer device is
          unacceptable and decline OAM peering.  If the local OAM entity
          rejects the peer OAM entity, the state becomes
          oamPeeringLocallyRejected(7).  If the OAM peering is allowed
          by the local device, the state moves to
          sendLocalAndRemoteOk(6).  Note that both the
          sendLocalAndRemote(5) and oamPeeringLocallyRejected(7) states
          fall within the state SEND_LOCAL_REMOTE of the Discovery state
          diagram [802.3ah, Figure 57-5], with the difference being
          whether the local OAM client has actively rejected the peering
          or has just not indicated any decision yet.  Whether a peering
          decision has been made is indicated via the local flags field
          in the OAMPDU (reflected in the aOAMLocalFlagsField of
          30.3.6.1.10).

          If the remote OAM entity rejects the peering, the state
          becomes oamPeeringRemotelyRejected(8).  Note that both the
          sendLocalAndRemoteOk(6) and oamPeeringRemotelyRejected(8)
          states fall within the state SEND_LOCAL_REMOTE_OK of the
          Discovery state diagram [802.3ah, Figure 57-5], with the
          difference being whether the remote OAM client has rejected
          the peering or has just not yet decided.  This is indicated
          via the remote flags field in the OAMPDU (reflected in the
          aOAMRemoteFlagsField of 30.3.6.1.11).

          When the local OAM entity learns that both it and the remote
          OAM entity have accepted the peering, the state moves to
          operational(9) corresponding to the SEND_ANY state of the
          Discovery state diagram [802.3ah, Figure 57-5].

          Since Ethernet OAM functions are not designed to work
          completely over half-duplex interfaces, the value
          nonOperHalfDuplex(10) is returned whenever Ethernet OAM is
          enabled (dot3OamAdminState is enabled(1)), but the interface
          is in half-duplex operation.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.4, 30.3.6.1.10, 30.3.6.1.11"
        ::= { dot3OamEntry 2 }

      dot3OamMode OBJECT-TYPE
        SYNTAX      INTEGER {
                      passive(1),
                      active(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "This object configures the mode of OAM operation for this
          Ethernet-like interface.  OAM on Ethernet interfaces may be in
          'active' mode or 'passive' mode.  These two modes differ in
          that active mode provides additional capabilities to initiate
          monitoring activities with the remote OAM peer entity, while
          passive mode generally waits for the peer to initiate OA
          actions with it.  As an example, an active OAM entity can put
          the remote OAM entity in a loopback state, where a passive OA
          entity cannot.

          The default value of dot3OamMode is dependent on the type of
          system on which this Ethernet-like interface resides.  The
          default value should be 'active(2)' unless it is known that
          this system should take on a subservient role to the other
          device connected over this interface.

          Changing this value results in incrementing the configuration
          revision field of locally generated OAMPDUs (30.3.6.1.12) and
          potentially re-doing the OAM discovery process if the
          dot3OamOperStatus was already operational(9).
          "
        REFERENCE   "[802.3ah], 30.3.6.1.3"
        ::= { dot3OamEntry 3 }

      dot3OamMaxOamPduSize OBJECT-TYPE
        SYNTAX      Unsigned32 (64..1518)
        UNITS       "octets"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The largest OAMPDU that the OAM entity supports.  OA
          entities exchange maximum OAMPDU sizes and negotiate to use
          the smaller of the two maximum OAMPDU sizes between the peers.
          This value is determined by the local implementation.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.8"
        ::= { dot3OamEntry 4 }

      dot3OamConfigRevision OBJECT-TYPE
        SYNTAX      Unsigned32(0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The configuration revision of the OAM entity as reflected in
          the latest OAMPDU sent by the OAM entity.  The config revision
          is used by OAM entities to indicate that configuration changes
          have occurred, which might require the peer OAM entity to
          re-evaluate whether OAM peering is allowed.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.12"
        ::= { dot3OamEntry 5 }

      dot3OamFunctionsSupported OBJECT-TYPE
        SYNTAX      BITS {
                      unidirectionalSupport (0),
                      loopbackSupport(1),
                      eventSupport(2),
                      variableSupport(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The OAM functions supported on this Ethernet-like interface.
          OAM consists of separate functional sets beyond the basic
          discovery process that is always required.  These functional
          groups can be supported independently by any implementation.
          These values are communicated to the peer via the local
          configuration field of Information OAMPDUs.

          Setting 'unidirectionalSupport(0)' indicates that the OA
          entity supports the transmission of OAMPDUs on links that are
          operating in unidirectional mode (traffic flowing in one
          direction only).  Setting 'loopbackSupport(1)' indicates that
          the OAM entity can initiate and respond to loopback commands.
          Setting 'eventSupport(2)' indicates that the OAM entity can
          send and receive Event Notification OAMPDUs.  Setting
          'variableSupport(3)' indicates that the OAM entity can send
          and receive Variable Request and Response OAMPDUs.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.6"
        ::= { dot3OamEntry 6 }

      -- ***************************************************************
      --
      -- Ethernet OAM Peer group
      --

      dot3OamPeerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF Dot3OamPeerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "This table contains information about the OAM peer for a
          particular Ethernet-like interface.  OAM entities communicate
          with a single OAM peer entity on Ethernet links on which OA
          is enabled and operating properly.  There is one entry in this
          table for each entry in the dot3OamTable for which information
          on the peer OAM entity is available.
          "
        ::= { dot3OamObjects 2 }

      dot3OamPeerEntry OBJECT-TYPE
        SYNTAX      Dot3OamPeerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "An entry in the table containing information on the peer OA
          entity for a single Ethernet-like interface.

          Note that there is at most one OAM peer for each Ethernet-like
          interface.  Entries are automatically created when information
          about the OAM peer entity becomes available, and automatically
          deleted when the OAM peer entity is no longer in
          communication.  Peer information is not available when
          dot3OamOperStatus is disabled(1), linkFault(2),
          passiveWait(3), activeSendLocal(4), or nonOperHalfDuplex(10).
          "
        INDEX       { ifIndex }
        ::= { dot3OamPeerTable 1 }

      Dot3OamPeerEntry ::=
        SEQUENCE {
          dot3OamPeerMacAddress               MacAddress,
          dot3OamPeerVendorOui                EightOTwoOui,
          dot3OamPeerVendorInfo               Unsigned32,
          dot3OamPeerMode                     INTEGER,
          dot3OamPeerMaxOamPduSize            Unsigned32,
          dot3OamPeerConfigRevision           Unsigned32,
          dot3OamPeerFunctionsSupported       BITS
        }

      dot3OamPeerMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The MAC address of the peer OAM entity.  The MAC address is
          derived from the most recently received OAMPDU.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.5."
        ::= { dot3OamPeerEntry 1 }

      dot3OamPeerVendorOui OBJECT-TYPE
        SYNTAX      EightOTwoOui
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The OUI of the OAM peer as reflected in the latest
          Information OAMPDU received with a Local Information TLV.  The
          OUI can be used to identify the vendor of the remote OA
          entity.  This value is initialized to three octets of zero
          before any Local Information TLV is received.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.16."
        ::= { dot3OamPeerEntry 2 }

      dot3OamPeerVendorInfo OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The Vendor Info of the OAM peer as reflected in the latest
          Information OAMPDU received with a Local Information TLV.
          The semantics of the Vendor Information field is proprietary
          and specific to the vendor (identified by the
          dot3OamPeerVendorOui).  This information could, for example,
          be used to identify a specific product or product family.
          This value is initialized to zero before any Local
          Information TLV is received.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.17."
        ::= { dot3OamPeerEntry 3 }

      dot3OamPeerMode OBJECT-TYPE
        SYNTAX      INTEGER {
                      passive(1),
                      active(2),
                      unknown(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The mode of the OAM peer as reflected in the latest
          Information OAMPDU received with a Local Information TLV.  The
          mode of the peer can be determined from the Configuration
          field in the Local Information TLV of the last Information
          OAMPDU received from the peer.  The value is unknown(3)
          whenever no Local Information TLV has been received.  The
          values of active(2) and passive(1) are returned when a Local
          Information TLV has been received indicating that the peer is
          in active or passive mode, respectively.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.7."
        ::= { dot3OamPeerEntry 4 }

      dot3OamPeerMaxOamPduSize OBJECT-TYPE
        SYNTAX      Unsigned32 (0 | 64..1518)
        UNITS       "octets"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The maximum size of OAMPDU supported by the peer as reflected
          in the latest Information OAMPDU received with a Local
          Information TLV.  Ethernet OAM on this interface must not use
          OAMPDUs that exceed this size.  The maximum OAMPDU size can be
          determined from the PDU Configuration field of the Local
          Information TLV of the last Information OAMPDU received from
          the peer.  A value of zero is returned if no Local Information
          TLV has been received.  Otherwise, the value of the OAM peer's
          maximum OAMPDU size is returned in this value.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.9."
        ::= { dot3OamPeerEntry 5 }

      dot3OamPeerConfigRevision OBJECT-TYPE
        SYNTAX      Unsigned32(0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The configuration revision of the OAM peer as reflected in
          the latest OAMPDU.  This attribute is changed by the peer
          whenever it has a local configuration change for Ethernet OA
          on this interface.  The configuration revision can be
          determined from the Revision field of the Local Information
          TLV of the most recently received Information OAMPDU with
          a Local Information TLV.  A value of zero is returned if
          no Local Information TLV has been received.
        "
        REFERENCE   "[802.3ah], 30.3.6.1.13."
        ::= { dot3OamPeerEntry 6 }

      dot3OamPeerFunctionsSupported OBJECT-TYPE
        SYNTAX      BITS {
                      unidirectionalSupport (0),
                      loopbackSupport(1),
                      eventSupport(2),
                      variableSupport(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The OAM functions supported on this Ethernet-like interface.
          OAM consists of separate functionality sets above the basic
          discovery process.  This value indicates the capabilities of
          the peer OAM entity with respect to these functions.  This
          value is initialized so all bits are clear.

          If unidirectionalSupport(0) is set, then the peer OAM entity
          supports sending OAM frames on Ethernet interfaces when the
          receive path is known to be inoperable.  If
          loopbackSupport(1) is set, then the peer OAM entity can send
          and receive OAM loopback commands.  If eventSupport(2) is set,
          then the peer OAM entity can send and receive event OAMPDUs to
          signal various error conditions.  If variableSupport(3) is
          set, then the peer OAM entity can send and receive variable
          requests to monitor the attribute value as described in Clause
          57 of [802.3ah].

          The capabilities of the OAM peer can be determined from the
          configuration field of the Local Information TLV of the most
          recently received Information OAMPDU with a Local Information
          TLV.  All zeros are returned if no Local Information TLV has
          yet been received.
          "
        REFERENCE   "[802.3ah], REFERENCE 30.3.6.1.7."
        ::= { dot3OamPeerEntry 7 }

      -- ***************************************************************
      --
      -- Ethernet OAM Loopback group
      --

      dot3OamLoopbackTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF Dot3OamLoopbackEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "This table contains controls for the loopback state of the
          local link as well as indicates the status of the loopback
          function.  There is one entry in this table for each entry in
          dot3OamTable that supports loopback functionality (where
          dot3OamFunctionsSupported includes the loopbackSupport bit
          set).

          Loopback can be used to place the remote OAM entity in a state
          where every received frame (except OAMPDUs) is echoed back
          over the same interface on which they were received.  In this
          state, at the remote entity, 'normal' traffic is disabled as
          only the looped back frames are transmitted on the interface.
          Loopback is thus an intrusive operation that prohibits normal
          data flow and should be used accordingly.
          "
        ::= { dot3OamObjects 3 }

      dot3OamLoopbackEntry OBJECT-TYPE
        SYNTAX      Dot3OamLoopbackEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "An entry in the table, containing information on the loopback
          status for a single Ethernet-like interface.  Entries in the
          table are automatically created whenever the local OAM entity
          supports loopback capabilities.  The loopback status on the
          interface can be determined from the dot3OamLoopbackStatus
          object.
          "
        INDEX       { ifIndex }
        ::= { dot3OamLoopbackTable 1 }

      Dot3OamLoopbackEntry ::=
        SEQUENCE {
          dot3OamLoopbackStatus             INTEGER,
          dot3OamLoopbackIgnoreRx           INTEGER
        }

      dot3OamLoopbackStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                      -- all values, except where noted, can be read
                      -- but cannot be written
                      noLoopback (1),

                      -- initiatingLoopback can be read or written
                      initiatingLoopback (2),
                      remoteLoopback (3),

                      -- terminatingLoopback can be read or written
                      terminatingLoopback (4),
                      localLoopback (5),
                      unknown (6)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The loopback status of the OAM entity.  This status is
          determined by a combination of the local parser and
          multiplexer states, the remote parser and multiplexer states,
          as well as by the actions of the local OAM client.  When
          operating in normal mode with no loopback in progress, the
          status reads noLoopback(1).

          The values initiatingLoopback(2) and terminatingLoopback(4)
          can be read or written.  The other values can only be read -
          they can never be written.  Writing initiatingLoopback causes
          the local OAM entity to start the loopback process with its
          peer.  This value can only be written when the status is
          noLoopback(1).  Writing the value initiatingLoopback(2) in any
          other state has no effect.  When in remoteLoopback(3), writing
          terminatingLoopback(4) causes the local OAM entity to initiate
          the termination of the loopback state.  Writing
          terminatingLoopack(4) in any other state has no effect.

          If the OAM client initiates a loopback and has sent a
          Loopback OAMPDU and is waiting for a response, where the local
          parser and multiplexer states are DISCARD (see [802.3ah,
          57.2.11.1]), the status is 'initiatingLoopback'.  In this
          case, the local OAM entity has yet to receive any
          acknowledgment that the remote OAM entity has received its
          loopback command request.

          If the local OAM client knows that the remote OAM entity is in
          loopback mode (via the remote state information as described
          in [802.3ah, 57.2.11.1, 30.3.6.1.15]), the status is
          remoteLoopback(3).  If the local OAM client is in the process
          of terminating the remote loopback [802.3ah, 57.2.11.3,
          30.3.6.1.14] with its local multiplexer and parser states in
          DISCARD, the status is terminatingLoopback(4).  If the remote
          OAM client has put the local OAM entity in loopback mode as
          indicated by its local parser state, the status is
          localLoopback(5).

          The unknown(6) status indicates that the parser and
          multiplexer combination is unexpected.  This status may be
          returned if the OAM loopback is in a transition state but
          should not persist.

          The values of this attribute correspond to the following
          values of the local and remote parser and multiplexer states.

            value            LclPrsr   LclMux    RmtPrsr   RmtMux
            noLoopback         FWD       FWD       FWD       FWD
            initLoopback     DISCARD   DISCARD     FWD       FWD
            rmtLoopback      DISCARD     FWD      LPBK    DISCARD
            tmtngLoopback    DISCARD   DISCARD    LPBK    DISCARD
            lclLoopback        LPBK    DISCARD   DISCARD     FWD
            unknown            ***   any other combination   ***
          "
        REFERENCE   "[802.3ah], REFERENCE 57.2.11, 30.3.61.14,
          30.3.6.1.15"
        ::= { dot3OamLoopbackEntry 1 }

      dot3OamLoopbackIgnoreRx OBJECT-TYPE
        SYNTAX      INTEGER { ignore(1), process(2) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "Since OAM loopback is a disruptive operation (user traffic
          does not pass), this attribute provides a mechanism to provide
          controls over whether received OAM loopback commands are
          processed or ignored.  When the value is ignore(1), received
          loopback commands are ignored.  When the value is process(2),
          OAM loopback commands are processed.  The default value is to
          ignore loopback commands (ignore(1)).
          "
        REFERENCE   "[802.3ah], REFERENCE 57.2.11, 30.3.61.14,
          30.3.6.1.15"
        ::= { dot3OamLoopbackEntry 2 }

      -- ***************************************************************
      --
      -- Ethernet OAM Statistics group
      --

      dot3OamStatsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF Dot3OamStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "This table contains statistics for the OAM function on a
          particular Ethernet-like interface.  There is an entry in the
          table for every entry in the dot3OamTable.

          The counters in this table are defined as 32-bit entries to
          match the counter size as defined in [802.3ah].  Given that
          the OA protocol is a slow protocol, the counters increment at
          a slow rate.
          "
        ::= { dot3OamObjects 4 }

      dot3OamStatsEntry OBJECT-TYPE
        SYNTAX      Dot3OamStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "An entry in the table containing statistics information on
          the Ethernet OAM function for a single Ethernet-like
          interface.  Entries are automatically created for every entry
          in the dot3OamTable.  Counters are maintained across
          transitions in dot3OamOperStatus.
          "
        INDEX       { ifIndex }
        ::= { dot3OamStatsTable 1 }

      Dot3OamStatsEntry ::=
        SEQUENCE {
                  dot3OamInformationTx                Counter32,
                  dot3OamInformationRx                Counter32,
                  dot3OamUniqueEventNotificationTx    Counter32,
                  dot3OamUniqueEventNotificationRx    Counter32,
                  dot3OamDuplicateEventNotificationTx Counter32,
                  dot3OamDuplicateEventNotificationRx Counter32,
                  dot3OamLoopbackControlTx            Counter32,
                  dot3OamLoopbackControlRx            Counter32,
                  dot3OamVariableRequestTx            Counter32,
                  dot3OamVariableRequestRx            Counter32,
                  dot3OamVariableResponseTx           Counter32,
                  dot3OamVariableResponseRx           Counter32,
                  dot3OamOrgSpecificTx                Counter32,
                  dot3OamOrgSpecificRx                Counter32,
                  dot3OamUnsupportedCodesTx           Counter32,
                  dot3OamUnsupportedCodesRx           Counter32,
                  dot3OamFramesLostDueToOam           Counter32
                 }

      dot3OamInformationTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Information OAMPDUs transmitted on
          this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.  "
        REFERENCE   "[802.3ah], 30.3.6.1.20."
        ::= { dot3OamStatsEntry 1 }

      dot3OamInformationRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Information OAMPDUs received on this
          interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.21."
        ::= { dot3OamStatsEntry 2 }

      dot3OamUniqueEventNotificationTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of unique Event OAMPDUs transmitted on
          this interface.  Event Notifications may be sent in duplicate
          to increase the probability of successfully being received,
          given the possibility that a frame may be lost in transit.
          Duplicate Event Notification transmissions are counted by
          dot3OamDuplicateEventNotificationTx.

          A unique Event Notification OAMPDU is indicated as an Event
          Notification OAMPDU with a Sequence Number field that is
          distinct from the previously transmitted Event Notification
          OAMPDU Sequence Number.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.22."
        ::= { dot3OamStatsEntry 3 }

      dot3OamUniqueEventNotificationRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of unique Event OAMPDUs received on
          this interface.  Event Notification OAMPDUs may be sent in
          duplicate to increase the probability of successfully being
          received, given the possibility that a frame may be lost in
          transit.  Duplicate Event Notification receptions are counted
          by dot3OamDuplicateEventNotificationRx.

          A unique Event Notification OAMPDU is indicated as an Event
          Notification OAMPDU with a Sequence Number field that is
          distinct from the previously received Event Notification
          OAMPDU Sequence Number.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.24."
        ::= { dot3OamStatsEntry 4 }

      dot3OamDuplicateEventNotificationTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of duplicate Event OAMPDUs transmitted
          on this interface.  Event Notification OAMPDUs may be sent in
          duplicate to increase the probability of successfully being
          received, given the possibility that a frame may be lost in
          transit.

          A duplicate Event Notification OAMPDU is indicated as an Event
          Notification OAMPDU with a Sequence Number field that is
          identical to the previously transmitted Event Notification
          OAMPDU Sequence Number.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.23."
        ::= { dot3OamStatsEntry 5 }

      dot3OamDuplicateEventNotificationRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of duplicate Event OAMPDUs received on
          this interface.  Event Notification OAMPDUs may be sent in
          duplicate to increase the probability of successfully being
          received, given the possibility that a frame may be lost in
          transit.

          A duplicate Event Notification OAMPDU is indicated as an Event
          Notification OAMPDU with a Sequence Number field that is
          identical to the previously received Event Notification OAMPDU
          Sequence Number.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.25."
        ::= { dot3OamStatsEntry 6 }

      dot3OamLoopbackControlTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Loopback Control OAMPDUs transmitted
          on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.26."
        ::= { dot3OamStatsEntry 7 }

      dot3OamLoopbackControlRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Loopback Control OAMPDUs received
          on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.27."
        ::= { dot3OamStatsEntry 8 }

      dot3OamVariableRequestTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Variable Request OAMPDUs transmitted
          on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.28."
        ::= { dot3OamStatsEntry 9 }

      dot3OamVariableRequestRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Variable Request OAMPDUs received on
          this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.29."
        ::= { dot3OamStatsEntry 10 }

      dot3OamVariableResponseTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Variable Response OAMPDUs
          transmitted on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.30."
        ::= { dot3OamStatsEntry 11 }

      dot3OamVariableResponseRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Variable Response OAMPDUs received
          on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.31."
        ::= { dot3OamStatsEntry 12 }

       dot3OamOrgSpecificTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Organization Specific OAMPDUs
          transmitted on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.32."
        ::= { dot3OamStatsEntry 13 }

      dot3OamOrgSpecificRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of Organization Specific OAMPDUs
          received on this interface.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.33."
        ::= { dot3OamStatsEntry 14 }

      dot3OamUnsupportedCodesTx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of OAMPDUs transmitted on this
          interface with an unsupported op-code.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.18."
        ::= { dot3OamStatsEntry 15 }

      dot3OamUnsupportedCodesRx OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of OAMPDUs received on this interface
          with an unsupported op-code.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.19."
        ::= { dot3OamStatsEntry 16 }

      dot3OamFramesLostDueToOam OBJECT-TYPE
        SYNTAX      Counter32
        UNITS       "frames"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "A count of the number of frames that were dropped by the OA
          multiplexer.  Since the OAM multiplexer has multiple inputs
          and a single output, there may be cases where frames are
          dropped due to transmit resource contention.  This counter is
          incremented whenever a frame is dropped by the OAM layer.
          Note that any Ethernet frame, not just OAMPDUs, may be dropped
          by the OAM layer.  This can occur when an OAMPDU takes
          precedence over a 'normal' frame resulting in the 'normal'
          frame being dropped.

          When this counter is incremented, no other counters in this
          MIB are incremented.

          Discontinuities of this counter can occur at re-initialization
          of the management system, and at other times as indicated by
          the value of the ifCounterDiscontinuityTime.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.46."
        ::= { dot3OamStatsEntry 17 }

      -- ***************************************************************
      --
      -- Ethernet OAM Event Configuration group
      --

      dot3OamEventConfigTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF Dot3OamEventConfigEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
          "Ethernet OAM includes the ability to generate and receive
          Event Notification OAMPDUs to indicate various link problems.
          This table contains the mechanisms to enable Event
          Notifications and configure the thresholds to generate the
          standard Ethernet OAM events.  There is one entry in the table
          for every entry in dot3OamTable that supports OAM events
          (where dot3OamFunctionsSupported includes the eventSupport
          bit set).  The values in the table are maintained across
          changes to dot3OamOperStatus.

          The standard threshold crossing events are:
            - Errored Symbol Period Event.  Generated when the number of
              symbol errors exceeds a threshold within a given window
              defined by a number of symbols (for example, 1,000 symbols
              out of 1,000,000 had errors).
            - Errored Frame Period Event.  Generated when the number of
              frame errors exceeds a threshold within a given window
              defined by a number of frames (for example, 10 frames out
              of 1000 had errors).
            - Errored Frame Event.  Generated when the number of frame
              errors exceeds a threshold within a given window defined
              by a period of time (for example, 10 frames in 1 second
              had errors).
            - Errored Frame Seconds Summary Event.  Generated when the
              number of errored frame seconds exceeds a threshold within
              a given time period (for example, 10 errored frame seconds
              within the last 100 seconds).  An errored frame second is
              defined as a 1 second interval which had >0 frame errors.
          There are other events (dying gasp, critical events) that are
          not threshold crossing events but which can be
          enabled/disabled via this table.
          "
        ::= { dot3OamObjects 5 }

      dot3OamEventConfigEntry OBJECT-TYPE
        SYNTAX      Dot3OamEventConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "Entries are automatically created and deleted from this
          table, and exist whenever the OAM entity supports Ethernet OA
          events (as indicated by the eventSupport bit in
          dot3OamFunctionsSuppported).  Values in the table are
          maintained across changes to the value of dot3OamOperStatus.

          Event configuration controls when the local management entity
          sends Event Notification OAMPDUs to its OAM peer, and when
          certain event flags are set or cleared in OAMPDUs.
          "
        INDEX       { ifIndex }
        ::= { dot3OamEventConfigTable 1 }

      Dot3OamEventConfigEntry ::=
        SEQUENCE {
                  dot3OamErrSymPeriodWindowHi        Unsigned32,
                  dot3OamErrSymPeriodWindowLo        Unsigned32,
                  dot3OamErrSymPeriodThresholdHi     Unsigned32,
                  dot3OamErrSymPeriodThresholdLo     Unsigned32,
                  dot3OamErrSymPeriodEvNotifEnable   TruthValue,
                  dot3OamErrFramePeriodWindow        Unsigned32,
                  dot3OamErrFramePeriodThreshold     Unsigned32,
                  dot3OamErrFramePeriodEvNotifEnable TruthValue,
                  dot3OamErrFrameWindow              Unsigned32,
                  dot3OamErrFrameThreshold           Unsigned32,
                  dot3OamErrFrameEvNotifEnable       TruthValue,
                  dot3OamErrFrameSecsSummaryWindow   Integer32,
                  dot3OamErrFrameSecsSummaryThreshold Integer32,
                  dot3OamErrFrameSecsEvNotifEnable   TruthValue,
                  dot3OamDyingGaspEnable             TruthValue,
                  dot3OamCriticalEventEnable         TruthValue
                }

      dot3OamErrSymPeriodWindowHi OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "2^32 symbols"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The two objects dot3OamErrSymPeriodWindowHi and
          dot3OamErrSymPeriodLo together form an unsigned 64-bit
          integer representing the number of symbols over which this
          threshold event is defined.  This is defined as
        dot3OamErrSymPeriodWindow = ((2^32)*dot3OamErrSymPeriodWindowHi)
                                          + dot3OamErrSymPeriodWindowLo

          If dot3OamErrSymPeriodThreshold symbol errors occur within a
          window of dot3OamErrSymPeriodWindow symbols, an Event
          Notification OAMPDU should be generated with an Errored Symbol
          Period Event TLV indicating that the threshold has been
          crossed in this window.

          The default value for dot3OamErrSymPeriodWindow is the number
          of symbols in one second for the underlying physical layer.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.34"
        ::= { dot3OamEventConfigEntry 1 }

      dot3OamErrSymPeriodWindowLo OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "symbols"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The two objects dot3OamErrSymPeriodWindowHi and
          dot3OamErrSymPeriodWindowLo together form an unsigned 64-bit
          integer representing the number of symbols over which this
          threshold event is defined.  This is defined as

        dot3OamErrSymPeriodWindow = ((2^32)*dot3OamErrSymPeriodWindowHi)
                                          + dot3OamErrSymPeriodWindowLo

          If dot3OamErrSymPeriodThreshold symbol errors occur within a
          window of dot3OamErrSymPeriodWindow symbols, an Event
          Notification OAMPDU should be generated with an Errored Symbol
          Period Event TLV indicating that the threshold has been
          crossed in this window.

          The default value for dot3OamErrSymPeriodWindow is the number
          of symbols in one second for the underlying physical layer.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.34"
        ::= { dot3OamEventConfigEntry 2 }

      dot3OamErrSymPeriodThresholdHi OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "2^32 symbols"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The two objects dot3OamErrSymPeriodThresholdHi and
          dot3OamErrSymPeriodThresholdLo together form an unsigned
          64-bit integer representing the number of symbol errors that
          must occur within a given window to cause this event.

          This is defined as

            dot3OamErrSymPeriodThreshold =
                              ((2^32) * dot3OamErrSymPeriodThresholdHi)
                                      + dot3OamErrSymPeriodThresholdLo

          If dot3OamErrSymPeriodThreshold symbol errors occur within a
          window of dot3OamErrSymPeriodWindow symbols, an Event
          Notification OAMPDU should be generated with an Errored Symbol
          Period Event TLV indicating that the threshold has been
          crossed in this window.

          The default value for dot3OamErrSymPeriodThreshold is one
          symbol errors.  If the threshold value is zero, then an Event
          Notification OAMPDU is sent periodically (at the end of every
          window).  This can be used as an asynchronous notification to
          the peer OAM entity of the statistics related to this
          threshold crossing alarm.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.34"
        ::= { dot3OamEventConfigEntry 3 }

      dot3OamErrSymPeriodThresholdLo OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "symbols"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The two objects dot3OamErrSymPeriodThresholdHi and
          dot3OamErrSymPeriodThresholdLo together form an unsigned
          64-bit integer representing the number of symbol errors that
          must occur within a given window to cause this event.

          This is defined as

            dot3OamErrSymPeriodThreshold =
                              ((2^32) * dot3OamErrSymPeriodThresholdHi)
                                      + dot3OamErrSymPeriodThresholdLo

          If dot3OamErrSymPeriodThreshold symbol errors occur within a
          window of dot3OamErrSymPeriodWindow symbols, an Event
          Notification OAMPDU should be generated with an Errored Symbol
          Period Event TLV indicating that the threshold has been
          crossed in this window.

          The default value for dot3OamErrSymPeriodThreshold is one
          symbol error.  If the threshold value is zero, then an Event
          Notification OAMPDU is sent periodically (at the end of every
          window).  This can be used as an asynchronous notification to
          the peer OAM entity of the statistics related to this
          threshold crossing alarm.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.34"
        ::= { dot3OamEventConfigEntry 4 }

      dot3OamErrSymPeriodEvNotifEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "If true, the OAM entity should send an Event Notification
          OAMPDU when an Errored Symbol Period Event occurs.

          By default, this object should have the value true for
          Ethernet-like interfaces that support OAM.  If the OAM layer
          does not support Event Notifications (as indicated via the
          dot3OamFunctionsSupported attribute), this value is ignored.
          "
        ::= { dot3OamEventConfigEntry 5 }

      dot3OamErrFramePeriodWindow OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "frames"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The number of frames over which the threshold is defined.
          The default value of the window is the number of minimum size
          Ethernet frames that can be received over the physical layer
          in one second.

          If dot3OamErrFramePeriodThreshold frame errors occur within a
          window of dot3OamErrFramePeriodWindow frames, an Event
          Notification OAMPDU should be generated with an Errored Frame
          Period Event TLV indicating that the threshold has been
          crossed in this window.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.38"
        ::= { dot3OamEventConfigEntry 6 }

      dot3OamErrFramePeriodThreshold OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "frames"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The number of frame errors that must occur for this event to
          be triggered.  The default value is one frame error.  If the
          threshold value is zero, then an Event Notification OAMPDU is
          sent periodically (at the end of every window).  This can be
          used as an asynchronous notification to the peer OAM entity of
          the statistics related to this threshold crossing alarm.

          If dot3OamErrFramePeriodThreshold frame errors occur within a
          window of dot3OamErrFramePeriodWindow frames, an Event
          Notification OAMPDU should be generated with an Errored Frame
          Period Event TLV indicating that the threshold has been
          crossed in this window.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.38"
        ::= { dot3OamEventConfigEntry 7 }

      dot3OamErrFramePeriodEvNotifEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "If true, the OAM entity should send an Event Notification
          OAMPDU when an Errored Frame Period Event occurs.

          By default, this object should have the value true for
          Ethernet-like interfaces that support OAM.  If the OAM layer
          does not support Event Notifications (as indicated via the
          dot3OamFunctionsSupported attribute), this value is ignored.
          "
        ::= { dot3OamEventConfigEntry 8 }

      dot3OamErrFrameWindow OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "tenths of a second"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The amount of time (in 100ms increments) over which the
          threshold is defined.  The default value is 10 (1 second).

          If dot3OamErrFrameThreshold frame errors occur within a window
          of dot3OamErrFrameWindow seconds (measured in tenths of
          seconds), an Event Notification OAMPDU should be generated
          with an Errored Frame Event TLV indicating that the threshold
          has been crossed in this window.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.36"
        DEFVAL { 10 }
        ::= { dot3OamEventConfigEntry 9 }

      dot3OamErrFrameThreshold OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "frames"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The number of frame errors that must occur for this event to
          be triggered.  The default value is one frame error.  If the
          threshold value is zero, then an Event Notification OAMPDU is
          sent periodically (at the end of every window).  This can be
          used as an asynchronous notification to the peer OAM entity of
          the statistics related to this threshold crossing alarm.

          If dot3OamErrFrameThreshold frame errors occur within a window
          of dot3OamErrFrameWindow (in tenths of seconds), an Event
          Notification OAMPDU should be generated with an Errored Frame
          Event TLV indicating the threshold has been crossed in this
          window.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.36"
        DEFVAL { 1 }
        ::= { dot3OamEventConfigEntry 10 }

      dot3OamErrFrameEvNotifEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "If true, the OAM entity should send an Event Notification
          OAMPDU when an Errored Frame Event occurs.

          By default, this object should have the value true for
          Ethernet-like interfaces that support OAM.  If the OAM layer
          does not support Event Notifications (as indicated via the
          dot3OamFunctionsSupported attribute), this value is ignored.
          "
        DEFVAL { true }
        ::= { dot3OamEventConfigEntry 11 }

      dot3OamErrFrameSecsSummaryWindow OBJECT-TYPE
        SYNTAX      Integer32 (100..9000)
        UNITS       "tenths of a second"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The amount of time (in 100 ms intervals) over which the
          threshold is defined.  The default value is 100 (10 seconds).

          If dot3OamErrFrameSecsSummaryThreshold frame errors occur
          within a window of dot3OamErrFrameSecsSummaryWindow (in tenths
          of seconds), an Event Notification OAMPDU should be generated
          with an Errored Frame Seconds Summary Event TLV indicating
          that the threshold has been crossed in this window.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.40"
        DEFVAL { 100 }
        ::= { dot3OamEventConfigEntry 12 }

      dot3OamErrFrameSecsSummaryThreshold OBJECT-TYPE
        SYNTAX      Integer32 (1..900)
        UNITS       "errored frame seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The number of errored frame seconds that must occur for this
          event to be triggered.  The default value is one errored frame
          second.  If the threshold value is zero, then an Event
          Notification OAMPDU is sent periodically (at the end of every
          window).  This can be used as an asynchronous notification to
          the peer OAM entity of the statistics related to this
          threshold crossing alarm.

          If dot3OamErrFrameSecsSummaryThreshold frame errors occur
          within a window of dot3OamErrFrameSecsSummaryWindow (in tenths
          of seconds), an Event Notification OAMPDU should be generated
          with an Errored Frame Seconds Summary Event TLV indicating
          that the threshold has been crossed in this window.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.40"
        DEFVAL { 1 }
        ::= { dot3OamEventConfigEntry 13 }

      dot3OamErrFrameSecsEvNotifEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "If true, the local OAM entity should send an Event
          Notification OAMPDU when an Errored Frame Seconds Event
          occurs.

          By default, this object should have the value true for
          Ethernet-like interfaces that support OAM.  If the OAM layer
          does not support Event Notifications (as indicated via the
          dot3OamFunctionsSupported attribute), this value is ignored.
          "
        DEFVAL { true }
        ::= { dot3OamEventConfigEntry 14 }

      dot3OamDyingGaspEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "If true, the local OAM entity should attempt to indicate a
          dying gasp via the OAMPDU flags field to its peer OAM entity
          when a dying gasp event occurs.  The exact definition of a
          dying gasp event is implementation dependent.  If the system
          does not support dying gasp capability, setting this object
          has no effect, and reading the object should always result in
          'false'.

          By default, this object should have the value true for
          Ethernet-like interfaces that support OAM.  If the OAM layer
          does not support Event Notifications (as indicated via the
          dot3OamFunctionsSupported attribute), this value is ignored.
          "
        DEFVAL { true }
        ::= { dot3OamEventConfigEntry 15 }

      dot3OamCriticalEventEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "If true, the local OAM entity should attempt to indicate a
          critical event via the OAMPDU flags to its peer OAM entity
          when a critical event occurs.  The exact definition of a
          critical event is implementation dependent.  If the system
          does not support critical event capability, setting this
          object has no effect, and reading the object should always
          result in 'false'.

          By default, this object should have the value true for
          Ethernet-like interfaces that support OAM.  If the OAM layer
          does not support Event Notifications (as indicated via the
          dot3OamFunctionsSupported attribute), this value is ignored.
          "
        DEFVAL { true }
        ::= { dot3OamEventConfigEntry 16 }

      -- **************************************************************
      --
      -- Ethernet OAM Event Log group
      --

      dot3OamEventLogTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF Dot3OamEventLogEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
          "This table records a history of the events that have occurred
          at the Ethernet OAM level.  These events can include locally
          detected events, which may result in locally generated
          OAMPDUs, and remotely detected events, which are detected by
          the OAM peer entity and signaled to the local entity via
          Ethernet OAM.  Ethernet OAM events can be signaled by Event
          Notification OAMPDUs or by the flags field in any OAMPDU.

          This table contains both threshold crossing events and
          non-threshold crossing events.  The parameters for the
          threshold window, threshold value, and actual value
          (dot3OamEventLogWindowXX, dot3OamEventLogThresholdXX,
          dot3OamEventLogValue) are only applicable to threshold
          crossing events, and are returned as all F's (2^32 - 1) for
          non-threshold crossing events.

          Entries in the table are automatically created when such
          events are detected.  The size of the table is implementation
          dependent.  When the table reaches its maximum size, older
          entries are automatically deleted to make room for newer
          entries.
          "
          ::= { dot3OamObjects 6 }

      dot3OamEventLogEntry OBJECT-TYPE
        SYNTAX      Dot3OamEventLogEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "An entry in the dot3OamEventLogTable.  Entries are
          automatically created whenever Ethernet OAM events occur at
          the local OAM entity, and when Event Notification OAMPDUs are
          received at the local OAM entity (indicating that events have
          occurred at the peer OAM entity).  The size of the table is
          implementation dependent, but when the table becomes full,
          older events are automatically deleted to make room for newer
          events.  The table index dot3OamEventLogIndex increments for
          each new entry, and when the maximum value is reached, the
          value restarts at zero.
          "
        INDEX       { ifIndex, dot3OamEventLogIndex }
        ::= { dot3OamEventLogTable 1 }

      Dot3OamEventLogEntry ::=
        SEQUENCE {
          dot3OamEventLogIndex                Unsigned32,
          dot3OamEventLogTimestamp            TimeStamp,
          dot3OamEventLogOui                  EightOTwoOui,
          dot3OamEventLogType                 Unsigned32,
          dot3OamEventLogLocation             INTEGER,
          dot3OamEventLogWindowHi             Unsigned32,
          dot3OamEventLogWindowLo             Unsigned32,
          dot3OamEventLogThresholdHi          Unsigned32,
          dot3OamEventLogThresholdLo          Unsigned32,
          dot3OamEventLogValue                CounterBasedGauge64,
          dot3OamEventLogRunningTotal         CounterBasedGauge64,
          dot3OamEventLogEventTotal           Unsigned32
        }

      dot3OamEventLogIndex       OBJECT-TYPE
        SYNTAX      Unsigned32(1..4294967295)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "An arbitrary integer for identifying individual events
          within the event log.  "
        ::= { dot3OamEventLogEntry 1 }

      dot3OamEventLogTimestamp  OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The value of sysUpTime at the time of the logged event.  For
          locally generated events, the time of the event can be
          accurately retrieved from sysUpTime.  For remotely generated
          events, the time of the event is indicated by the reception of
          the Event Notification OAMPDU indicating that the event
          occurred on the peer.  A system may attempt to adjust the
          timestamp value to more accurately reflect the time of the
          event at the peer OAM entity by using other information, such
          as that found in the timestamp found of the Event Notification
          TLVs, which provides an indication of the relative time
          between events at the peer entity.  "
        ::= { dot3OamEventLogEntry 2 }

      dot3OamEventLogOui  OBJECT-TYPE
        SYNTAX      EightOTwoOui
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The OUI of the entity defining the object type.  All IEEE
          802.3 defined events (as appearing in [802.3ah] except for the
          Organizationally Unique Event TLVs) use the IEEE 802.3 OUI of
          0x0180C2.  Organizations defining their own Event Notification
          TLVs include their OUI in the Event Notification TLV that
          gets reflected here.  "
        ::= { dot3OamEventLogEntry 3 }

      dot3OamEventLogType      OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The type of event that generated this entry in the event log.
          When the OUI is the IEEE 802.3 OUI of 0x0180C2, the following
          event types are defined:
              erroredSymbolEvent(1),
              erroredFramePeriodEvent(2),
              erroredFrameEvent(3),
              erroredFrameSecondsEvent(4),
              linkFault(256),
              dyingGaspEvent(257),
              criticalLinkEvent(258)
          The first four are considered threshold crossing events, as
          they are generated when a metric exceeds a given value within
          a specified window.  The other three are not threshold
          crossing events.

          When the OUI is not 71874 (0x0180C2 in hex), then some other
          organization has defined the event space.  If event subtyping
          is known to the implementation, it may be reflected here.
          Otherwise, this value should return all F's (2^32 - 1).
          "
        REFERENCE   "[802.3ah], 30.3.6.1.10 and 57.5.3."
        ::= { dot3OamEventLogEntry 4 }

      dot3OamEventLogLocation OBJECT-TYPE
        SYNTAX      INTEGER { local(1), remote(2) }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Whether this event occurred locally (local(1)), or was
          received from the OAM peer via Ethernet OAM (remote(2)).
          "
        ::= { dot3OamEventLogEntry 5 }

      dot3OamEventLogWindowHi      OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "If the event represents a threshold crossing event, the two
          objects dot3OamEventWindowHi and dot3OamEventWindowLo, form
          an unsigned 64-bit integer yielding the window over which the
          value was measured for the threshold crossing event (for
          example, 5, when 11 occurrences happened in 5 seconds while
          the threshold was 10).  The two objects are combined as:

          dot3OamEventLogWindow = ((2^32) * dot3OamEventLogWindowHi)
                                          + dot3OamEventLogWindowLo

          Otherwise, this value is returned as all F's (2^32 - 1) and
          adds no useful information.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
        ::= { dot3OamEventLogEntry 6 }

      dot3OamEventLogWindowLo      OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "If the event represents a threshold crossing event, the two
          objects dot3OamEventWindowHi and dot3OamEventWindowLo form an
          unsigned 64-bit integer yielding the window over which the
          value was measured for the threshold crossing event (for
          example, 5, when 11 occurrences happened in 5 seconds while
          the threshold was 10).  The two objects are combined as:

          dot3OamEventLogWindow = ((2^32) * dot3OamEventLogWindowHi)
                                          + dot3OamEventLogWindowLo

          Otherwise, this value is returned as all F's (2^32 - 1) and
          adds no useful information.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
        ::= { dot3OamEventLogEntry 7 }

      dot3OamEventLogThresholdHi      OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "If the event represents a threshold crossing event, the two
          objects dot3OamEventThresholdHi and dot3OamEventThresholdLo
          form an unsigned 64-bit integer yielding the value that was
          crossed for the threshold crossing event (for example, 10,
          when 11 occurrences happened in 5 seconds while the threshold
          was 10).  The two objects are combined as:

        dot3OamEventLogThreshold = ((2^32) * dot3OamEventLogThresholdHi)
                                           + dot3OamEventLogThresholdLo

          Otherwise, this value is returned as all F's (2^32 -1) and
          adds no useful information.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
        ::= { dot3OamEventLogEntry 8 }

      dot3OamEventLogThresholdLo      OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "If the event represents a threshold crossing event, the two
          objects dot3OamEventThresholdHi and dot3OamEventThresholdLo
          form an unsigned 64-bit integer yielding the value that was
          crossed for the threshold crossing event (for example, 10,
          when 11 occurrences happened in 5 seconds while the threshold
          was 10).  The two objects are combined as:

        dot3OamEventLogThreshold = ((2^32) * dot3OamEventLogThresholdHi)
                                           + dot3OamEventLogThresholdLo

          Otherwise, this value is returned as all F's (2^32 - 1) and
          adds no useful information.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
        ::= { dot3OamEventLogEntry 9 }

      dot3OamEventLogValue      OBJECT-TYPE
        SYNTAX      CounterBasedGauge64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "If the event represents a threshold crossing event, this
          value indicates the value of the parameter within the given
          window that generated this event (for example, 11, when 11
          occurrences happened in 5 seconds while the threshold was 10).

          Otherwise, this value is returned as all F's
          (2^64 - 1) and adds no useful information.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
        ::= { dot3OamEventLogEntry 10 }

      dot3OamEventLogRunningTotal      OBJECT-TYPE
        SYNTAX      CounterBasedGauge64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Each Event Notification TLV contains a running total of the
          number of times an event has occurred, as well as the number
          of times an Event Notification for the event has been
          transmitted.  For non-threshold crossing events, the number of
          events (dot3OamLogRunningTotal) and the number of resultant
          Event Notifications (dot3OamLogEventTotal) should be
          identical.

          For threshold crossing events, since multiple occurrences may
          be required to cross the threshold, these values are likely
          different.  This value represents the total number of times
          this event has happened since the last reset (for example,
          3253, when 3253 symbol errors have occurred since the last
          reset, which has resulted in 51 symbol error threshold
          crossing events since the last reset).
          "
        REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
        ::= { dot3OamEventLogEntry 11 }

      dot3OamEventLogEventTotal      OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "Each Event Notification TLV contains a running total of the
          number of times an event has occurred, as well as the number
          of times an Event Notification for the event has been
          transmitted.  For non-threshold crossing events, the number of
          events (dot3OamLogRunningTotal) and the number of resultant
          Event Notifications (dot3OamLogEventTotal) should be
          identical.

          For threshold crossing events, since multiple occurrences may
          be required to cross the threshold, these values are likely
          different.  This value represents the total number of times
          one or more of these occurrences have resulted in an Event
          Notification (for example, 51 when 3253 symbol errors have
          occurred since the last reset, which has resulted in 51 symbol
          error threshold crossing events since the last reset).
          "
        REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
        ::= { dot3OamEventLogEntry 12 }

      -- ***************************************************************
      --
      -- Ethernet OAM Notifications
      --

      dot3OamThresholdEvent NOTIFICATION-TYPE
        OBJECTS { dot3OamEventLogTimestamp,
                  dot3OamEventLogOui,
                  dot3OamEventLogType,
                  dot3OamEventLogLocation,
                  dot3OamEventLogWindowHi,
                  dot3OamEventLogWindowLo,
                  dot3OamEventLogThresholdHi,
                  dot3OamEventLogThresholdLo,
                  dot3OamEventLogValue,
                  dot3OamEventLogRunningTotal,
                  dot3OamEventLogEventTotal
                }
        STATUS  current
        DESCRIPTION
          "A dot3OamThresholdEvent notification is sent when a local or
          remote threshold crossing event is detected.  A local
          threshold crossing event is detected by the local entity,
          while a remote threshold crossing event is detected by the
          reception of an Ethernet OAM Event Notification OAMPDU
          that indicates a threshold event.

          This notification should not be sent more than once per
          second.

          The OAM entity can be derived from extracting the ifIndex from
          the variable bindings.  The objects in the notification
          correspond to the values in a row instance in the
          dot3OamEventLogTable.

          The management entity should periodically check
          dot3OamEventLogTable to detect any missed events."
       ::= { dot3OamNotifications 1 }

      dot3OamNonThresholdEvent NOTIFICATION-TYPE
        OBJECTS { dot3OamEventLogTimestamp,
                  dot3OamEventLogOui,
                  dot3OamEventLogType,
                  dot3OamEventLogLocation,
                  dot3OamEventLogEventTotal
                }
        STATUS  current
        DESCRIPTION
          "A dot3OamNonThresholdEvent notification is sent when a local
          or remote non-threshold crossing event is detected.  A local
          event is detected by the local entity, while a remote event is
          detected by the reception of an Ethernet OAM Event
          Notification OAMPDU that indicates a non-threshold crossing
          event.

          This notification should not be sent more than once per
          second.

          The OAM entity can be derived from extracting the ifIndex from
          the variable bindings.  The objects in the notification
          correspond to the values in a row instance of the
          dot3OamEventLogTable.

          The management entity should periodically check
          dot3OamEventLogTable to detect any missed events."
       ::= { dot3OamNotifications 2 }

      -- ***************************************************************
      --
      -- Ethernet OAM Compliance group
      --

      dot3OamGroups OBJECT IDENTIFIER ::= { dot3OamConformance 1 }
      dot3OamCompliances OBJECT IDENTIFIER ::= { dot3OamConformance 2 }

      -- Compliance statements

      dot3OamCompliance MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION "The compliance statement for managed entities
                     supporting OAM on Ethernet-like interfaces.
                     "
      MODULE   -- this module
        MANDATORY-GROUPS { dot3OamControlGroup,
                           dot3OamPeerGroup,
                           dot3OamStatsBaseGroup
                         }

        GROUP       dot3OamLoopbackGroup
        DESCRIPTION
          "This group is mandatory for all IEEE 802.3 OA
          implementations that support loopback functionality. "

        GROUP       dot3OamErrSymbolPeriodEventGroup
        DESCRIPTION
          "This group is mandatory for all IEEE 802.3 OA
          implementations that support event functionality. "

        GROUP       dot3OamErrFramePeriodEventGroup
        DESCRIPTION
          "This group is mandatory for all IEEE 802.3 OA
          implementations that support event functionality. "

        GROUP       dot3OamErrFrameEventGroup
        DESCRIPTION
          "This group is mandatory for all IEEE 802.3 OA
          implementations that support event functionality. "

        GROUP       dot3OamErrFrameSecsSummaryEventGroup
        DESCRIPTION
          "This group is mandatory for all IEEE 802.3 OA
          implementations that support event functionality. "

        GROUP        dot3OamFlagEventGroup
        DESCRIPTION
          "This group is optional for all IEEE 802.3 OA
          implementations.  The ability to send critical events or dying
          gasp events is not required in any system."

        GROUP       dot3OamEventLogGroup
        DESCRIPTION
          "This group is optional for all IEEE 802.3 OA
          implementations.  Entries in this table are dependent on what
          event functionality is supported in the local OA
          implementation.  At least one type of event must be supported
          for entries to appear in this table.  "

        GROUP       dot3OamNotificationGroup
        DESCRIPTION
          "This group is optional for all IEEE 802.3 OA
          implementations.  Since the information in the notifications
          is dependent on the dot3OamEventLogTable, that table must be
          implemented for notifications.  "

        ::= { dot3OamCompliances 1}

     dot3OamControlGroup OBJECT-GROUP
        OBJECTS     {   dot3OamAdminState,
                        dot3OamOperStatus,
                        dot3OamMode,
                        dot3OamMaxOamPduSize,
                        dot3OamConfigRevision,
                        dot3OamFunctionsSupported
                    }
        STATUS      current
        DESCRIPTION
          "A collection of objects providing the abilities,
          configuration, and status of an Ethernet OAM entity.  "
        ::= { dot3OamGroups 1 }

     dot3OamPeerGroup OBJECT-GROUP
        OBJECTS     {   dot3OamPeerMacAddress,
                        dot3OamPeerVendorOui,
                        dot3OamPeerVendorInfo,
                        dot3OamPeerMode,
                        dot3OamPeerFunctionsSupported,
                        dot3OamPeerMaxOamPduSize,
                        dot3OamPeerConfigRevision
                    }
        STATUS      current
        DESCRIPTION
          "A collection of objects providing the abilities,
          configuration, and status of a peer Ethernet OAM entity.  "
        ::= { dot3OamGroups 2 }

     dot3OamStatsBaseGroup OBJECT-GROUP
        OBJECTS     {   dot3OamInformationTx,
                        dot3OamInformationRx,
                        dot3OamUniqueEventNotificationTx,
                        dot3OamUniqueEventNotificationRx,
                        dot3OamDuplicateEventNotificationTx,
                        dot3OamDuplicateEventNotificationRx,
                        dot3OamLoopbackControlTx,
                        dot3OamLoopbackControlRx,
                        dot3OamVariableRequestTx,
                        dot3OamVariableRequestRx,
                        dot3OamVariableResponseTx,
                        dot3OamVariableResponseRx,
                        dot3OamOrgSpecificTx,
                        dot3OamOrgSpecificRx,
                        dot3OamUnsupportedCodesTx,
                        dot3OamUnsupportedCodesRx,
                        dot3OamFramesLostDueToOam
                    }
        STATUS      current
        DESCRIPTION
          "A collection of objects providing the statistics for the
          number of various transmit and receive events for OAM on an
          Ethernet-like interface.  Note that all of these counters must
          be supported even if the related function (as described in
          dot3OamFunctionsSupported) is not supported.  "
        ::= { dot3OamGroups 3 }

     dot3OamLoopbackGroup OBJECT-GROUP
        OBJECTS     {   dot3OamLoopbackStatus,
                        dot3OamLoopbackIgnoreRx
                    }
        STATUS      current
        DESCRIPTION
          "A collection of objects for controlling the OAM remote
          loopback function.  "
        ::= { dot3OamGroups 4 }

     dot3OamErrSymbolPeriodEventGroup OBJECT-GROUP
        OBJECTS     {   dot3OamErrSymPeriodWindowHi,
                        dot3OamErrSymPeriodWindowLo,
                        dot3OamErrSymPeriodThresholdHi,
                        dot3OamErrSymPeriodThresholdLo,
                        dot3OamErrSymPeriodEvNotifEnable
                    }
        STATUS      current
        DESCRIPTION
          "A collection of objects for configuring the thresholds for an
          Errored Symbol Period Event.

          Each [802.3ah] defined Event Notification TLV has its own
          conformance group because each event can be implemented
          independently of any other.  "
        ::= { dot3OamGroups 5 }

     dot3OamErrFramePeriodEventGroup OBJECT-GROUP
        OBJECTS     {   dot3OamErrFramePeriodWindow,
                        dot3OamErrFramePeriodThreshold,
                        dot3OamErrFramePeriodEvNotifEnable
                    }
        STATUS      current
        DESCRIPTION
          "A collection of objects for configuring the thresholds for an
          Errored Frame Period Event.

          Each [802.3ah] defined Event Notification TLV has its own
          conformance group because each event can be implemented
          independently of any other.  "
        ::= { dot3OamGroups 6 }

     dot3OamErrFrameEventGroup OBJECT-GROUP
        OBJECTS     {   dot3OamErrFrameWindow,
                        dot3OamErrFrameThreshold,
                        dot3OamErrFrameEvNotifEnable
                    }
        STATUS      current
        DESCRIPTION
          "A collection of objects for configuring the thresholds for an
          Errored Frame Event.

          Each [802.3ah] defined Event Notification TLV has its own
          conformance group because each event can be implemented
          independently of any other.  "
        ::= { dot3OamGroups 7 }

     dot3OamErrFrameSecsSummaryEventGroup OBJECT-GROUP
        OBJECTS     {   dot3OamErrFrameSecsSummaryWindow,
                        dot3OamErrFrameSecsSummaryThreshold,
                        dot3OamErrFrameSecsEvNotifEnable
                    }
        STATUS      current
        DESCRIPTION
          "A collection of objects for configuring the thresholds for an
          Errored Frame Seconds Summary Event.

          Each [802.3ah] defined Event Notification TLV has its own
          conformance group because each event can be implemented
          independently of any other.  "
        ::= { dot3OamGroups 8 }

     dot3OamFlagEventGroup OBJECT-GROUP
        OBJECTS     {   dot3OamDyingGaspEnable,
                        dot3OamCriticalEventEnable
                    }
        STATUS      current
        DESCRIPTION
          "A collection of objects for configuring the sending OAMPDUs
          with the critical event flag or dying gasp flag enabled.  "
        ::= { dot3OamGroups 9 }

     dot3OamEventLogGroup OBJECT-GROUP
       OBJECTS {  dot3OamEventLogTimestamp,
                  dot3OamEventLogOui,
                  dot3OamEventLogType,
                  dot3OamEventLogLocation,
                  dot3OamEventLogWindowHi,
                  dot3OamEventLogWindowLo,
                  dot3OamEventLogThresholdHi,
                  dot3OamEventLogThresholdLo,
                  dot3OamEventLogValue,
                  dot3OamEventLogRunningTotal,
                  dot3OamEventLogEventTotal
                }
       STATUS      current
       DESCRIPTION
          "A collection of objects for configuring the thresholds for an
          Errored Frame Seconds Summary Event and maintaining the event
          information.  "
        ::= { dot3OamGroups 10 }

     dot3OamNotificationGroup NOTIFICATION-GROUP
       NOTIFICATIONS {
                   dot3OamThresholdEvent,
                   dot3OamNonThresholdEvent
                     }
       STATUS      current
       DESCRIPTION
         "A collection of notifications used by Ethernet OAM to signal
         to a management entity that local or remote events have
         occurred on a specified Ethernet link. "
       ::= { dot3OamGroups 11 }

      END