summaryrefslogtreecommitdiff
path: root/MIBS/IEEE8021-CFM-MIB
blob: 23ad43687d46a0e0319657195766c640068f1b67 (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
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
-- *****************************************************************
-- IEEE8021-CFM-MIB
--
--
-- Copyright (c) 2009 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

IEEE8021-CFM-MIB DEFINITIONS ::= BEGIN

-- ******************************************************************
-- IEEE P802.1ag(TM) CFM MIB
-- ******************************************************************

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Integer32, Counter32,
    Unsigned32               FROM SNMPv2-SMI    -- [RFC2578]
    TEXTUAL-CONVENTION,
    TimeInterval,
    TimeStamp, RowStatus,
    TruthValue, MacAddress,
    TDomain, TAddress        FROM SNMPv2-TC     -- [RFC2579]
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP       FROM SNMPv2-CONF   -- [RFC2580]
    InterfaceIndex,
    InterfaceIndexOrZero     FROM IF-MIB        -- [RFC2863]
    LldpChassisId,
    LldpChassisIdSubtype,
    LldpPortId,
    LldpPortIdSubtype        FROM LLDP-MIB      -- [IEEExxx]
    VlanIdOrNone, VlanId     FROM Q-BRIDGE-MIB  -- [RFC4363]
   ;

ieee8021CfmMib   MODULE-IDENTITY
    LAST-UPDATED "200810150000Z" -- October 15, 2008
    ORGANIZATION "IEEE 802.1 Working Group"
    CONTACT-INFO
       "WG-URL:   http://grouper.ieee.org/groups/802/1/index.html
        WG-EMail: stds-802-1@ieee.org 

        Contact:  David Elie-Dit-Cosaque

                  Alcatel-Lucent
                  3400 W. Plano Pkwy.
                  Plano, TX 75075, USA

        E-mail:   david.elie_dit_cosaque@alcatel-lucent.com

        Contact:  Norman Finn

                  Cisco Systems
                  170 W. Tasman Drive
                  San Jose, CA 95134, USA

        E-mail:   nfinn@cisco.com
       "
   DESCRIPTION 
      "Connectivity Fault Management module for managing IEEE 802.1ag

       Unless otherwise indicated, the references in this MIB
       module are to IEEE 802.1Q-2005 as amended by IEEE 802.1ad,
       IEEE 802.1ak, IEEE 802.1ag and IEEE 802.1ah.

       Copyright (C) IEEE.

       This version of this MIB module is part of IEEE802.1Q;
       see the draft itself for full legal notices."

   REVISION       "200810150000Z" -- October 15, 2008
   DESCRIPTION 
      "The IEEE8021-CFM-MIB Module was originally included in IEEE 
       P802.1ag D8.1. Some objects in this module are deprecated and 
       replaced by objects in the IEEE8021-CFM-V2-MIB module
       defined in 802.1ap.

       This revision is included in IEEE 802.1ap"

   REVISION       "200706100000Z"    -- 06/10/2007 00:00GMT
   DESCRIPTION 
      "Included in IEEE P802.1ag Draft 8.1

        Copyright (C) IEEE802.1."

    ::= { iso(1) org(3) ieee(111)
         standards-association-numbered-series-standards (2)
         lan-man-stds (802) ieee802dot1 (1) ieee802dot1mibs (1) 8 }

dot1agNotifications      OBJECT IDENTIFIER ::= { ieee8021CfmMib 0 }
dot1agMIBObjects         OBJECT IDENTIFIER ::= { ieee8021CfmMib 1 }
dot1agCfmConformance     OBJECT IDENTIFIER ::= { ieee8021CfmMib 2 }

-- ******************************************************************
-- Groups in the CFM MIB Module
-- ******************************************************************
dot1agCfmStack           OBJECT IDENTIFIER ::= { dot1agMIBObjects 1 }
dot1agCfmDefaultMd       OBJECT IDENTIFIER ::= { dot1agMIBObjects 2 }
dot1agCfmVlan            OBJECT IDENTIFIER ::= { dot1agMIBObjects 3 }
dot1agCfmConfigErrorList OBJECT IDENTIFIER ::= { dot1agMIBObjects 4 }
dot1agCfmMd              OBJECT IDENTIFIER ::= { dot1agMIBObjects 5 }
dot1agCfmMa              OBJECT IDENTIFIER ::= { dot1agMIBObjects 6 }
dot1agCfmMep             OBJECT IDENTIFIER ::= { dot1agMIBObjects 7 }

-- ******************************************************************
-- Textual conventions
-- ******************************************************************

Dot1agCfmMaintDomainNameType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A value that represents a type (and thereby the format)
        of a Dot1agCfmMaintDomainName.  The value can be one of
        the following:


        ieeeReserved(0)   Reserved for definition by IEEE 802.1
                          recommend to not use zero unless
                          absolutely needed.
        none(1)           No format specified, usually because
                          there is not (yet) a Maintenance
                          Domain Name. In this case, a zero
                          length OCTET STRING for the Domain
                          Name field is acceptable.
        dnsLikeName(2)    Domain Name like string, globally unique
                          text string derived from a DNS name.
        macAddrAndUint(3) MAC address + 2-octet (unsigned) integer.
        charString(4)     RFC2579 DisplayString, except that the
                          character codes 0-31 (decimal) are not
                          used.
        ieeeReserved(xx)  Reserved for definition by IEEE 802.1
                          xx values can be [5..31] and [64..255]
        ituReserved(xx)   Reserved for definition by  ITU-T Y.1731
                          xx values range from [32..63]

        To support future extensions, the Dot1agCfmMaintDomainNameType
        textual convention SHOULD NOT be sub-typed in object type
        definitions.  It MAY be sub-typed in compliance statements in
        order to require only a subset of these address types for a
        compliant implementation.

        Implementations MUST ensure that Dot1agCfmMaintDomainNameType
        objects and any dependent objects (e.g.,
        Dot1agCfmMaintDomainName objects) are consistent.  An
        inconsistentValue error MUST be generated if an attempt to
        change an Dot1agCfmMaintDomainNameType object would, for
        example, lead to an undefined Dot1agCfmMaintDomainName value.
        In particular,
        Dot1agCfmMaintDomainNameType/Dot1agCfmMaintDomainName pairs
        MUST be changed together if the nameType changes.
       "
    REFERENCE
       "21.6.5, Table 21-19"
    SYNTAX      INTEGER {
                  none              (1),
                  dnsLikeName       (2),
                  macAddressAndUint (3),
                  charString        (4)
                }

Dot1agCfmMaintDomainName ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Denotes a generic Maintenance Domain Name.

        A Dot1agCfmMaintDomainName value is always interpreted within
        the context of a Dot1agCfmMaintDomainNameType value.  Every
        usage of the Dot1agCfmMaintDomainName textual convention is
        required to specify the Dot1agCfmMaintDomainNameType object
        that provides the context.  It is suggested that the
        Dot1agCfmMaintDomainNameType object be logically registered
        before the object(s) that use the Dot1agCfmMaintDomainName
        textual convention, if they appear in the same logical row.

        The value of a Dot1agCfmMaintDomainName object MUST always
        be consistent with the value of the associated
        Dot1agCfmMaintDomainNameType object. Attempts to set
        an Dot1agCfmMaintDomainName object to a value inconsistent
        with the associated Dot1agCfmMaintDomainNameType MUST fail
        with an inconsistentValue error.

        When this textual convention is used as the syntax of an
        index object, there may be issues with the limit of 128
        sub-identifiers specified in SMIv2, IETF STD 58.  In this
        case, the object definition MUST include a 'SIZE' clause
        to limit the number of potential instance sub-identifiers;
        otherwise the applicable constraints MUST be stated in
        the appropriate conceptual row DESCRIPTION clauses, or
        in the surrounding documentation if there is no single
        DESCRIPTION clause that is appropriate.

        A value of none(1) in the associated
        Dot1agCfmMaintDomainNameType object means that no Maintenance
        Domain name is present, and the contents of the
        Dot1agCfmMaintDomainName object are meaningless.

        See the DESCRIPTION of the Dot1agCfmMaintAssocNameType
        TEXTUAL-CONVENTION for a discussion of the length limits on
        the Maintenance Domain name and Maintenance Association name.
       "
    REFERENCE
         "21.6.5"
    SYNTAX      OCTET STRING (SIZE(1..43))

Dot1agCfmMaintAssocNameType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A value that represents a type (and thereby the format)
        of a Dot1agCfmMaintAssocName.  The value can be one of
        the following:

        ieeeReserved(0)   Reserved for definition by IEEE 802.1
                          recommend to not use zero unless
                          absolutely needed.
        primaryVid(1)     Primary VLAN ID.
                          12 bits represented in a 2-octet integer:
                          - 4 least significant bits of the first
                            byte contains the 4 most significant 
                            bits of the 12 bits primary VID
                          - second byte contains the 8 least
                            significant bits of the primary VID

                                 0 1 2 3 4 5 6 7 8
                                 +-+-+-+-+-+-+-+-+
                                 |0 0 0 0| (MSB) |
                                 +-+-+-+-+-+-+-+-+
                                 |  VID   LSB    |
                                 +-+-+-+-+-+-+-+-+

        charString(2)     RFC2579 DisplayString, except that the
                          character codes 0-31 (decimal) are not
                          used. (1..45) octets
        unsignedInt16 (3) 2-octet integer/big endian
        rfc2865VpnId(4)   RFC 2685 VPN ID
                          3 octet VPN authority Organizationally
                          Unique Identifier followed by 4 octet VPN
                          index identifying VPN according to the OUI:

                                 0 1 2 3 4 5 6 7 8
                                 +-+-+-+-+-+-+-+-+
                                 | VPN OUI (MSB) |
                                 +-+-+-+-+-+-+-+-+
                                 |   VPN OUI     |
                                 +-+-+-+-+-+-+-+-+
                                 | VPN OUI (LSB) |
                                 +-+-+-+-+-+-+-+-+
                                 |VPN Index (MSB)|
                                 +-+-+-+-+-+-+-+-+
                                 |  VPN Index    |
                                 +-+-+-+-+-+-+-+-+
                                 |  VPN Index    |
                                 +-+-+-+-+-+-+-+-+
                                 |VPN Index (LSB)|
                                 +-+-+-+-+-+-+-+-+

        ieeeReserved(xx)  Reserved for definition by IEEE 802.1
                          xx values can be [5..31] and [64..255]
        ituReserved(xx)   Reserved for definition by  ITU-T Y.1731
                          xx values range from [32..63]

        To support future extensions, the Dot1agCfmMaintAssocNameType
        textual convention SHOULD NOT be sub-typed in object type
        definitions.  It MAY be sub-typed in compliance statements in
        order to require only a subset of these address types for a
        compliant implementation.

        Implementations MUST ensure that Dot1agCfmMaintAssocNameType
        objects and any dependent objects (e.g.,
        Dot1agCfmMaintAssocName objects) are consistent.  An
        inconsistentValue error MUST be generated if an attempt to
        change an Dot1agCfmMaintAssocNameType object would, for
        example, lead to an undefined Dot1agCfmMaintAssocName value.
        In particular,
        Dot1agCfmMaintAssocNameType/Dot1agCfmMaintAssocName pairs
        MUST be changed together if the nameType changes.

        The Maintenance Domain name and Maintenance Association name,
        when put together into the CCM PDU, MUST total 48 octets or
        less.  If the Dot1agCfmMaintDomainNameType object contains
        none(1), then the Dot1agCfmMaintAssocName object MUST be
        45 octets or less in length.  Otherwise, the length of
        the Dot1agCfmMaintDomainName object plus the length of the
        Dot1agCfmMaintAssocName object, added together, MUST total
        less than or equal to 44 octets.
       " 
    REFERENCE
       "21.6.5.4, Table 21-20"
    SYNTAX      INTEGER {
                  primaryVid        (1),
                  charString        (2),
                  unsignedInt16     (3),
                  rfc2865VpnId      (4)
                }

Dot1agCfmMaintAssocName ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Denotes a generic Maintenance Association Name. It is the
        part of the Maintenance Association Identifier which is
        unique within the Maintenance Domain Name and is appended
        to the Maintenance Domain Name to form the Maintenance
        Association Identifier (MAID).

        A Dot1agCfmMaintAssocName value is always interpreted within
        the context of a Dot1agCfmMaintAssocNameType value.  Every
        usage of the Dot1agCfmMaintAssocName textual convention is
        required to specify the Dot1agCfmMaintAssocNameType object
        that provides the context.  It is suggested that the
        Dot1agCfmMaintAssocNameType object be logically registered
        before the object(s) that use the Dot1agCfmMaintAssocName
        textual convention, if they appear in the same logical row.

        The value of a Dot1agCfmMaintAssocName object MUST 
        always be consistent with the value of the associated
        Dot1agCfmMaintAssocNameType object. Attempts to set
        an Dot1agCfmMaintAssocName object to a value inconsistent
        with the associated Dot1agCfmMaintAssocNameType MUST fail
        with an inconsistentValue error.

        When this textual convention is used as the syntax of an
        index object, there may be issues with the limit of 128
        sub-identifiers specified in SMIv2, IETF STD 58.  In this
        case, the object definition MUST include a 'SIZE' clause
        to limit the number of potential instance sub-identifiers;
        otherwise the applicable constraints MUST be stated in
        the appropriate conceptual row DESCRIPTION clauses, or
        in the surrounding documentation if there is no single
        DESCRIPTION clause that is appropriate.
       "
    REFERENCE
       "802.1ag clauses 21.6.5.4, 21.6.5.5, 21.6.5.6"
    SYNTAX      OCTET STRING (SIZE(1..45))


Dot1agCfmMDLevel ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Integer identifying the Maintenance Domain Level (MD Level).
        Higher numbers correspond to higher Maintenance Domains,
        those with the greatest physical reach, with the highest
        values for customers' CFM PDUs.  Lower numbers correspond
        to lower Maintenance Domains, those with more limited
        physical reach, with the lowest values for CFM PDUs
        protecting single bridges or physical links.
       "
    REFERENCE
       "802.1ag clauses 18.3, 21.4.1"
    SYNTAX      Integer32 (0..7)

Dot1agCfmMDLevelOrNone ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Integer identifying the Maintenance Domain Level (MD Level).
        Higher numbers correspond to higher Maintenance Domains,
        those with the greatest physical reach, with the highest
        values for customers' CFM packets.  Lower numbers correspond
        to lower Maintenance Domains, those with more limited
        physical reach, with the lowest values for CFM PDUs
        protecting single bridges or physical links.

        The value (-1) is reserved to indicate that no MA Level has
        been assigned.
       "
    REFERENCE
       "802.1ag clauses 18.3, 12.14.3.1.3:c"
    SYNTAX      Integer32 (-1 | 0..7)

Dot1agCfmMpDirection ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the direction in which the Maintenance
        association (MEP or MIP) faces on the bridge port:

        down(1)    Sends Continuity Check Messages away from the
                   MAC Relay Entity.
        up(2)      Sends Continuity Check Messages towards the
                   MAC Relay Entity.
       "
    REFERENCE
       "802.1ag clauses 12.14.6.3.2:c"
    SYNTAX      INTEGER {
                  down  (1),
                  up    (2)
                }

Dot1agCfmPortStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value from he Port Status TLV from the last CCM
        received from the last MEP. It indicates the ability of the
        Bridge Port on which the transmitting MEP resides to pass
        ordinary data, regardless of the status of the MAC
        (Table 21-10).

        psNoPortStateTLV(0) Indicates either that no CCM has been
                            received or that no port status TLV was
                            present in the last CCM received.

        psBlocked(1)        Ordinary data cannot pass freely through
                            the port on which the remote MEP resides.
                            Value of enableRmepDefect is equal to
                            false.

        psUp(2):            Ordinary data can pass freely through
                            the port on which the remote MEP resides.
                            Value of enableRmepDefect is equal to
                            true.

        NOTE: A 0 value is used for psNoPortStateTLV, so that
              additional code points can be added in a manner
              consistent with the Dot1agCfmInterfaceStatus textual
              convention.
       "
    REFERENCE
       "12.14.7.6.3:f, 20.19.3 and 21.5.4"
    SYNTAX      INTEGER {
                  psNoPortStateTLV  (0),
                  psBlocked         (1),
                  psUp              (2)
                }

Dot1agCfmInterfaceStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value from the Interface Status TLV from the 
        last CCM received from the last MEP. It indicates the status
        of the Interface within which the MEP transmitting the CCM
        is configured, or the next lower Interface in the Interface
        Stack, if the MEP is not configured within an Interface.

    isNoInterfaceStatusTLV(0)  Indicates either that no CCM has been
                          received or that no interface status TLV
                          was present in the last CCM received.

    isUp(1)               The interface is ready to pass packets.

    isDown(2)             The interface cannot pass packets

    isTesting(3)          The interface is in some test mode.
   
    isUnknown(4)          The interface status cannot be determined
                          for some reason.

    isDormant(5)          The interface is not in a state to pass
                          packets but is in a pending state, waiting
                          for some external event.
    
    isNotPresent(6)       Some component of the interface is missing
    
    isLowerLayerDown(7)   The interface is down due to state of the
                          lower layer interfaces

        NOTE: A 0 value is used for isNoInterfaceStatusTLV, so that
              these code points can be kept consistent with new code
              points added to ifOperStatus in the IF-MIB.

       "
    REFERENCE
       "12.14.7.6.3:g, 20.19.4 and 21.5.5"
    SYNTAX      INTEGER {
                  isNoInterfaceStatusTLV  (0),
                  isUp                    (1),
                  isDown                  (2),
                  isTesting               (3),
                  isUnknown               (4),
                  isDormant               (5),
                  isNotPresent            (6),
                  isLowerLayerDown        (7)
                }

Dot1agCfmHighestDefectPri ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An enumerated value, equal to the contents of the variable
        highestDefect (20.33.9 and Table 20-1), indicating the
        highest-priority defect that has been present since the MEP
        Fault Notification Generator State Machine was last in the 
        FNG_RESET state, either:

        none(0)           no defects since FNG_RESET
        defRDICCM(1)      DefRDICCM
        defMACstatus(2)   DefMACstatus
        defRemoteCCM(3)   DefRemoteCCM
        defErrorCCM(4)    DefErrorCCM
        defXconCCM(5)     DefXconCCM

        The value 0 is used for no defects so that additional higher
        priority values can be added, if needed, at a later time, and
        so that these values correspond with those in
        Dot1agCfmLowestAlarmPri.
       "
    REFERENCE
       "20.1.2, 12.14.7.7.2:c and 20.33.9"
    SYNTAX      INTEGER {
                  none              (0),
                  defRDICCM         (1),
                  defMACstatus      (2),
                  defRemoteCCM      (3),
                  defErrorCCM       (4),
                  defXconCCM        (5)
                }

Dot1agCfmLowestAlarmPri ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An integer value specifying the lowest priority defect
        that is allowed to generate a Fault Alarm (20.9.5), either:

        allDef(1)           DefRDICCM, DefMACstatus, DefRemoteCCM,
                            DefErrorCCM, and DefXconCCM;
        macRemErrXcon(2)    Only DefMACstatus, DefRemoteCCM,
                            DefErrorCCM, and DefXconCCM (default);
        remErrXcon(3)       Only DefRemoteCCM, DefErrorCCM,
                            and DefXconCCM;
        errXcon(4)          Only DefErrorCCM and DefXconCCM;
        xcon(5)             Only DefXconCCM; or
        noXcon(6)           No defects DefXcon or lower are to be
                            reported;
       "
    REFERENCE
       "12.14.7.1.3:k and 20.9.5"
    SYNTAX      INTEGER {
                  allDef            (1),
                  macRemErrXcon     (2),
                  remErrXcon        (3),
                  errXcon           (4),
                  xcon              (5),
                  noXcon            (6)
                }

Dot1agCfmMepId ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Maintenance association End Point Identifier (MEPID): A small
        integer, unique over a given Maintenance Association,
        identifying a specific MEP.
       "
    REFERENCE
       "802.1ag clauses 3.19 and 19.2.1"
    SYNTAX      Unsigned32 (1..8191)

Dot1agCfmMepIdOrZero ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
       "Maintenance association End Point Identifier (MEPID): A small
        integer, unique over a given Maintenance Association,
        identifying a specific MEP.
 
        The special value 0 is allowed to indicate special cases, for
        example that no MEPID is configured.

        Whenever an object is defined with this SYNTAX, then the
        DESCRIPTION clause of such an object MUST specify what the
        special value of 0 means.
       "
    REFERENCE
       "19.2.1"
    SYNTAX      Unsigned32 (0 | 1..8191)

Dot1agCfmMhfCreation ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates if the Management Entity can create MHFs.
        The valid values are:

        defMHFnone(1)      No MHFs can be created for this VID.
        defMHFdefault(2)   MHFs can be created on this VID on any
                           Bridge port through which this VID can
                           pass.
        defMHFexplicit(3)  MHFs can be created for this VID only on
                           Bridge ports through which this VID can
                           pass, and only if a MEP is created at some
                           lower MD Level.
        defMHFdefer(4)     The creation of MHFs is determined by the
                           corresponding Maintenance Domain variable
                           (dot1agCfmMaCompMhfCreation).
       "
    REFERENCE
       "12.14.5.1.3:c and 22.2.3"
    SYNTAX      INTEGER {
                  defMHFnone     (1),
                  defMHFdefault  (2),
                  defMHFexplicit (3),
                  defMHFdefer    (4)
                }

Dot1agCfmIdPermission ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates what, if anything, is to be included in the Sender
        ID TLV transmitted in CCMs, LBMs, LTMs, and LTRs.  The valid
        values are:

        sendIdNone(1)      The Sender ID TLV is not to be sent.
        sendIdChassis(2)   The Chassis ID Length, Chassis ID
                           Subtype, and Chassis ID fields of  the
                           Sender ID TLV are to be sent.
        sendIdManage(3)    The Management Address Length and
                           Management Address of the Sender ID TLV
                           are to be sent.
        sendIdChassisManage(4) The Chassis ID Length, Chassis ID
                           Subtype, Chassis ID, Management Address
                           Length and Management Address fields are
                           all to be sent.
        sendIdDefer(5)     The contents of the Sender ID TLV are
                           determined by the corresponding
                           Maintenance Domain variable
                           (dot1agCfmMaCompIdPermission).
       "
    REFERENCE
       "12.14.6.1.3:d and 21.5.3"
    SYNTAX      INTEGER {
                  sendIdNone          (1),
                  sendIdChassis       (2),
                  sendIdManage        (3),
                  sendIdChassisManage (4),
                  sendIdDefer         (5)
                }

Dot1agCfmCcmInterval ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the interval at which CCMs are sent by a MEP.
        The possible values are:
        intervalInvalid(0) No CCMs are sent (disabled).
        interval300Hz(1)   CCMs are sent every 3 1/3 milliseconds
                           (300Hz).
        interval10ms(2)    CCMs are sent every 10 milliseconds.
        interval100ms(3)   CCMs are sent every 100 milliseconds.
        interval1s(4)      CCMs are sent every 1 second.
        interval10s(5)     CCMs are sent every 10 seconds.
        interval1min(6)    CCMs are sent every minute.
        interval10min(7)   CCMs are sent every 10 minutes.

        Note: enumerations start at zero to match the 'CCM Interval
              field' protocol field.
       "
    REFERENCE
       "802.1ag clauses 12.14.6.1.3:e, 20.8.1 and 21.6.1.3"
    SYNTAX      INTEGER {
                  intervalInvalid   (0),
                  interval300Hz     (1),
                  interval10ms      (2),
                  interval100ms     (3),
                  interval1s        (4),
                  interval10s       (5),
                  interval1min      (6),
                  interval10min     (7)
                }

Dot1agCfmFngState ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the diferent states of the MEP Fault Notification
        Generator State Machine.

        fngReset(1)            No defect has been present since the
                               dot1agCfmMepFngResetTime timer
                               expired, or since the state machine
                               was last reset.

        fngDefect(2)           A defect is present, but not for a
                               long enough time to be reported 
                               (dot1agCfmMepFngAlarmTime).

        fngReportDefect(3)     A momentary state during which the
                               defect is reported by sending a
                               dot1agCfmFaultAlarm notification,
                               if that action is enabled.

        fngDefectReported(4)   A defect is present, and some defect
                               has been reported.

        fngDefectClearing(5)   No defect is present, but the
                               dot1agCfmMepFngResetTime timer has
                               not yet expired.
       "
    REFERENCE
       "12.14.7.1.3:f and 20.35"
    SYNTAX      INTEGER {
                  fngReset          (1),
                  fngDefect         (2),
                  fngReportDefect   (3),
                  fngDefectReported (4),
                  fngDefectClearing (5)
                }

Dot1agCfmRelayActionFieldValue ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Possible values the Relay action field can take."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:g, 20.36.2.5, 21.9.5, and
        Table 21-27"
    SYNTAX      INTEGER {
                  rlyHit     (1),
                  rlyFdb     (2),
                  rlyMpdb    (3)
                }
               
Dot1agCfmIngressActionFieldValue ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Possible values returned in the ingress action field."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:g, 20.36.2.6, 21.9.8.1, and
        Table 21-30
       "
    SYNTAX      INTEGER {
                  ingNoTlv    (0),
                  ingOk       (1),
                  ingDown     (2),
                  ingBlocked  (3),
                  ingVid      (4)
                }

Dot1agCfmEgressActionFieldValue ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Possible values returned in the egress action field"
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:o, 20.36.2.10, 21.9.9.1, and
        Table 21-32"
    SYNTAX      INTEGER {
                  egrNoTlv    (0),
                  egrOK       (1),
                  egrDown     (2),
                  egrBlocked  (3),
                  egrVid      (4)
                }

Dot1agCfmRemoteMepState::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Operational state of the remote MEP state machine.  This
        state machine monitors the reception of valid CCMs from a
        remote MEP with a specific MEPID.  It uses a timer that
        expires in 3.5 times the length of time indicated by the
        dot1agCfmMaNetCcmInterval object.

        rMepIdle(1)            Momentary state during reset.

        rMepStart(2)           The timer has not expired since the
                               state machine was reset, and no valid
                               CCM has yet been received.

        rMepFailed(3)          The timer has expired, both since the
                               state machine was reset, and since a
                               valid CCM was received.

        rMepOk(4)              The timer has not expired since a
                               valid CCM was received.
"
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:b, 20.22"
    SYNTAX      INTEGER {
                  rMepIdle    (1),
                  rMepStart   (2),
                  rMepFailed  (3),
                  rMepOk      (4)
                }

Dot1afCfmIndexIntegerNextFree ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
      "An integer which may be used as a new Index in a table.

       The special value of 0 indicates that no more new entries can
       be created in the relevant table.

       When a MIB is used for configuration, an object with this
       SYNTAX always contains a legal value (if non-zero) for an
       index that is not currently used in the relevant table. The
       Command Generator (Network Management Application) reads this
       variable and uses the (non-zero) value read when creating a
       new row with an SNMP SET.  When the SET is performed, the
       Command Responder (agent) MUST determine whether the value is
       indeed still unused; Two Network Management Applications may
       attempt to create a row (configuration entry) simultaneously
       and use the same value. If it is currently unused, the SET
       succeeds and the Command Responder (agent) changes the value
       of this object, according to an implementation-specific
       algorithm.  If the value is in use, however, the SET fails.
       The Network Management Application MUST then re-read this
       variable to obtain a new usable value.

       An OBJECT-TYPE definition using this SYNTAX MUST specify the
       relevant table for which the object is providing this
       functionality.
      "
    SYNTAX      Unsigned32 (0..4294967295)

Dot1agCfmMepDefects ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A MEP can detect and report a number of defects, and multiple
        defects can be present at the same time. These defects are:

        bDefRDICCM(0) A remote MEP is reported the RDI bit in its
                     last CCM.
        bDefMACstatus(1) Either some remote MEP is reporting its
                     Interface Status TLV as not isUp, or all remote
                     MEPs are reporting a Port Status TLV that
                     contains some value other than psUp.
        bDefRemoteCCM(2) The MEP is not receiving valid CCMs from at
                     least one of the remote MEPs.
        bDefErrorCCM(3) The MEP has received at least one invalid CCM
                     whose CCM Interval has not yet timed out.
        bDefXconCCM(4) The MEP has received at least one CCM from
                     either another MAID or a lower MD Level whose
                     CCM Interval has not yet timed out.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:o, 12.14.7.1.3:p, 12.14.7.1.3:q,
        12.14.7.1.3:r, and 12.14.7.1.3:s."
    SYNTAX BITS {
                bDefRDICCM(0),
                bDefMACstatus(1),
                bDefRemoteCCM(2),
                bDefErrorCCM(3),
                bDefXconCCM(4)
               }

Dot1agCfmConfigErrors ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "While making the MIP creation evaluation described in 802.1ag
        clause 22.2.3, the management entity can encounter errors in
        the configuration. These are possible errors that can be
        encountered:

        CFMleak(0)   MA x is associated with a specific VID list,
                     one or more of the VIDs in MA x can pass through
                     the Bridge Port, no Down MEP is configured on
                     any Bridge Port for MA x, and some other MA y,
                     at a higher MD Level than MA x, and associated
                     with at least one of the VID(s) also in MA x,
                     does have a MEP configured on the Bridge Port.

        conflictingVids(1)  MA x is associated with a specific VID
                     list, an Up MEP is configured on MA x on the
                     Bridge Port, and some other MA y, associated
                     with at least one of the VID(s) also in MA x,
                     also has an Up MEP configured on some Bridge
                     Port.

        ExcessiveLevels(2)  The number of different MD Levels at
                     which MIPs are to be created on this port
                     exceeds the Bridge's capabilities (see
                     subclause 22.3).

        OverlappedLevels(3) A MEP is created for one VID at one MD
                     Level, but a MEP is configured on another
                     VID at that MD Level or higher, exceeding
                     the Bridge's capabilities.
       "
    REFERENCE
       "12.14.4.1.3:b and clauses 22.2.3 and 22.2.4"
    SYNTAX BITS {
                cfmLeak(0),
                conflictingVids(1),
                excessiveLevels(2),
                overlappedLevels(3)
                }

Dot1agCfmPbbComponentIdentifier
::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "A Provider Backbone Bridge (PBB) can comprise a number of
        components, each of which can be managed in a manner
        essentially equivalent to an 802.1Q bridge.  In order to access
        these components easily, an index is used in a number of
        tables.  If any two tables are indexed by
        Dot1agCfmPbbComponentIdentifier, then entries in those tables
        indexed by the same value of Dot1agCfmPbbComponentIdentifier
        correspond to the same component.
       "
    REFERENCE
       "12.3 l)"
    SYNTAX      Unsigned32 (1..4294967295)

-- ******************************************************************
-- The Stack Object. This group will contain all the MIBs objects
-- needed to access the Stack managed object.
-- ******************************************************************

-- ******************************************************************
-- The CFM Stack Table
-- ******************************************************************

dot1agCfmStackTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmStackEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "There is one CFM Stack table per bridge. It permits
        the retrieval of information about the Maintenance Points
        configured on any given interface.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "802.1ag clauses 12.14.2"
    ::= { dot1agCfmStack 1 }

dot1agCfmStackEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmStackEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The Stack table entry
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
"
    INDEX { dot1agCfmStackifIndex, dot1agCfmStackVlanIdOrNone,
            dot1agCfmStackMdLevel, dot1agCfmStackDirection
          }
    ::= { dot1agCfmStackTable 1 }

Dot1agCfmStackEntry ::= SEQUENCE {
      dot1agCfmStackifIndex       InterfaceIndex,
      dot1agCfmStackVlanIdOrNone  VlanIdOrNone,
      dot1agCfmStackMdLevel       Dot1agCfmMDLevel,
      dot1agCfmStackDirection     Dot1agCfmMpDirection,
      dot1agCfmStackMdIndex       Unsigned32,
      dot1agCfmStackMaIndex       Unsigned32,
      dot1agCfmStackMepId         Dot1agCfmMepIdOrZero,
      dot1agCfmStackMacAddress    MacAddress
    }

dot1agCfmStackifIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "This object represents the  Bridge Port or aggregated port
        on which MEPs or MHFs might be configured.

        Upon a restart of the system, the system SHALL, if necessary,
        change the value of this variable, and  rearrange the
        dot1agCfmStackTable, so that it indexes the entry in the
        interface table with the same value of ifAlias that it
        indexed before the system restart.  If no such entry exists,
        then the system SHALL delete all entries in the
        dot1agCfmStackTable with the interface index.
        **NOTE: this object is deprecated due to re-indexing of
	the table.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.2.1.2:a"
    ::= { dot1agCfmStackEntry 1 }

dot1agCfmStackVlanIdOrNone OBJECT-TYPE
    SYNTAX      VlanIdOrNone
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "VLAN ID to which the MP is attached, or 0, if none.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "802.1ag clauses 12.14.2.1.2:d, 22.1.7"
    ::= { dot1agCfmStackEntry 2 }

dot1agCfmStackMdLevel OBJECT-TYPE
    SYNTAX      Dot1agCfmMDLevel
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "MD Level of the Maintenance Point.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.2.1.2:b"
    ::= { dot1agCfmStackEntry 3 }

dot1agCfmStackDirection OBJECT-TYPE
    SYNTAX      Dot1agCfmMpDirection
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "Direction in which the MP faces on the Bridge Port
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.2.1.2:c"
    ::= { dot1agCfmStackEntry 4 }

dot1agCfmStackMdIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
       "The index of the Maintenance Domain in the dot1agCfmMdTable
        to which the MP is associated, or 0, if none.
       "
    REFERENCE
       "12.14.2.1.3:b"
    ::= { dot1agCfmStackEntry 5 }

dot1agCfmStackMaIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
       "The index of the MA in the dot1agCfmMaNetTable and
        dot1agCfmMaCompTable to which the MP is associated, or 0, if
        none.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.2.1.3:c"
    ::= { dot1agCfmStackEntry 6 }

dot1agCfmStackMepId OBJECT-TYPE
    SYNTAX      Dot1agCfmMepIdOrZero
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
       "If an MEP is configured, the MEPID, else 0"
    REFERENCE
       "12.14.2.1.3:d
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    ::= { dot1agCfmStackEntry 7 }

dot1agCfmStackMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
       "MAC address of the MP.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
      "12.14.2.1.3:e"
    ::= { dot1agCfmStackEntry 8 }

-- ******************************************************************
-- The VLAN Table
-- ******************************************************************

dot1agCfmVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "This table defines the association of VIDs into VLANs.  There
        is an entry in this table, for each component of the bridge,
        for each VID that is:
            a) a VID belonging to a VLAN associated with more than
               one VID; and
            b) not the Primary VLAN of that VID.
        The entry in this table contains the Primary VID of the VLAN.

        By default, this table is empty, meaning that every VID is
        the Primary VID of a single-VID VLAN.

        VLANs that are associated with only one VID SHOULD NOT have
        an entry in this table.

        The writable objects in this table need to be persistent
        upon reboot or restart of a device.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "802.1ag clauses 12.14.3.1.3:a, 12.14.3.2.2:a, 12.14.5.3.2:c,
        12.14.6.1.3:b, 22.1.5."
    ::= { dot1agCfmVlan 1 }

dot1agCfmVlanEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The VLAN table entry.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    INDEX { dot1agCfmVlanComponentId, dot1agCfmVlanVid }
    ::= { dot1agCfmVlanTable 1 }

Dot1agCfmVlanEntry ::= SEQUENCE {
      dot1agCfmVlanComponentId Dot1agCfmPbbComponentIdentifier,
      dot1agCfmVlanVid         VlanId,
      dot1agCfmVlanPrimaryVid  VlanId,
      dot1agCfmVlanRowStatus   RowStatus
    }

dot1agCfmVlanComponentId OBJECT-TYPE
    SYNTAX      Dot1agCfmPbbComponentIdentifier
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The bridge component within the system to which the information
        in this dot1agCfmVlanEntry applies.  If the system is not a
        Bridge, or if only one component is present in the Bridge, then
        this variable (index) MUST be equal to 1.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.3 l)"
    ::= { dot1agCfmVlanEntry 1 }

dot1agCfmVlanVid OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "This is a VLAN ID belonging to a VLAN that is associated with
        more than one VLAN ID, and this is not the Primary VID of the
        VLAN.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    ::= { dot1agCfmVlanEntry 2 }

dot1agCfmVlanPrimaryVid OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
       "This is the Primary VLAN ID of the VLAN with which this
        entry's dot1agCfmVlanVid is associated.  This value MUST not
        equal the value of dot1agCfmVlanVid.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    ::= { dot1agCfmVlanEntry 3 }

dot1agCfmVlanRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns MUST have a valid value before a row
        can be activated.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    ::= { dot1agCfmVlanEntry 4 }

-- *******************************************************************
-- The Default MD Level object. This group will contain all the
-- MIB objects needed to access and modify default MD level
-- managed objects.
-- *******************************************************************

dot1agCfmDefaultMdDefLevel OBJECT-TYPE
    SYNTAX      Dot1agCfmMDLevel
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A value indicating the MD Level at which MHFs are to be
        created, and Sender ID TLV transmission by those MHFs is to
        be controlled, for each dot1agCfmDefaultMdEntry whose
        dot1agCfmDefaultMdLevel object contains the value -1.

        After this initialization, this object needs to be persistent
        upon reboot or restart of a device.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.3.1.3:c, 12.14.3.2.2:b"
    DEFVAL {0}
    ::= { dot1agCfmDefaultMd 1 }

dot1agCfmDefaultMdDefMhfCreation OBJECT-TYPE
    SYNTAX      Dot1agCfmMhfCreation 
--                {
--                  defMHFnone     (1),
--                  defMHFdefault  (2),
--                  defMHFexplicit (3)
--                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A value indicating if the Management entity can create MHFs
        (MIP Half Function) for the VID, for each
        dot1agCfmDefaultMdEntry whose dot1agCfmDefaultMdMhfCreation
        object contains the value defMHFdefer.  Since, in this
        variable, there is no encompassing Maintenance Domain, the
        value defMHFdefer is not allowed.

        After this initialization, this object needs to be persistent
        upon reboot or restart of a device.
       "
    REFERENCE
       "12.14.3.1.3:d"
    DEFVAL {defMHFnone}
    ::= { dot1agCfmDefaultMd 2 }

dot1agCfmDefaultMdDefIdPermission OBJECT-TYPE
    SYNTAX      Dot1agCfmIdPermission 
--                {
--                  sendIdNone          (1),
--                  sendIdChassis       (2),
--                  sendIdManage        (3),
--                  sendIdChassisManage (4)
--                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MHFs
        created by the Default Maintenance Domain, for each
        dot1agCfmDefaultMdEntry whose dot1agCfmDefaultMdIdPermission
        object contains the value sendIdDefer.  Since, in this
        variable, there is no encompassing Maintenance Domain, the
        value sendIdDefer is not allowed.

        After this initialization, this object needs to be persistent
        upon reboot or restart of a device.
       "
    REFERENCE
       "12.14.3.1.3:e"
    DEFVAL { sendIdNone }
    ::= { dot1agCfmDefaultMd 3 }

-- *******************************************************************
-- The Default MD Level Table
-- *******************************************************************

dot1agCfmDefaultMdTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmDefaultMdEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "For each bridge component, the Default MD Level Managed Object
        controls MHF creation for VIDs that are not attached to a
        specific Maintenance Association Managed Object, and Sender ID
        TLV transmission by those MHFs.

        For each Bridge Port, and for each VLAN ID whose data can
        pass through that Bridge Port, an entry in this table is
        used by the algorithm in subclause 22.2.3 only if there is no
        entry in the Maintenance Association table defining an MA
        for the same VLAN ID and MD Level as this table's entry, and
        on which MA an Up MEP is defined.  If there exists such an
        MA, that MA's objects are used by the algorithm in
        subclause 22.2.3 in place of this table entry's objects.  The
        agent maintains the value of dot1agCfmDefaultMdStatus to
        indicate whether this entry is overridden by an MA.

        When first initialized, the agent creates this table
        automatically with entries for all VLAN IDs,
        with the default values specified for each object.

        After this initialization, the writable objects in this
        table need to be persistent upon reboot or restart of a
        device.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       " 12.14.3"
    ::= { dot1agCfmDefaultMd 4 }

dot1agCfmDefaultMdEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmDefaultMdEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The Default MD Level table entry.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    INDEX { dot1agCfmDefaultMdComponentId,
            dot1agCfmDefaultMdPrimaryVid }
    ::= { dot1agCfmDefaultMdTable 1 }

Dot1agCfmDefaultMdEntry ::= SEQUENCE {
      dot1agCfmDefaultMdComponentId  Dot1agCfmPbbComponentIdentifier,
      dot1agCfmDefaultMdPrimaryVid   VlanId,
      dot1agCfmDefaultMdStatus       TruthValue,
      dot1agCfmDefaultMdLevel        Dot1agCfmMDLevelOrNone,
      dot1agCfmDefaultMdMhfCreation  Dot1agCfmMhfCreation,
      dot1agCfmDefaultMdIdPermission Dot1agCfmIdPermission
    }

dot1agCfmDefaultMdComponentId OBJECT-TYPE
    SYNTAX      Dot1agCfmPbbComponentIdentifier
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The bridge component within the system to which the information
        in this dot1agCfmDefaultMdEntry applies.  If the system is not
        a Bridge, or if only one component is present in the Bridge,
        then this variable (index) MUST be equal to 1.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.3 l)"
    ::= { dot1agCfmDefaultMdEntry 1 }

dot1agCfmDefaultMdPrimaryVid OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The Primary VID of the VLAN to which this entry's objects
        apply.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    ::= { dot1agCfmDefaultMdEntry 2 }

dot1agCfmDefaultMdStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
       "State of this Default MD Level table entry.  True if there is
        no entry in the Maintenance Association table defining an MA
        for the same VLAN ID and MD Level as this table's entry, and
        on which MA an Up MEP is defined, else false.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.3.1.3:b"
    ::= { dot1agCfmDefaultMdEntry 3 }

dot1agCfmDefaultMdLevel OBJECT-TYPE
    SYNTAX      Dot1agCfmMDLevelOrNone
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
       "A value indicating the MD Level at which MHFs are to be
        created, and Sender ID TLV transmission by those MHFs is to
        be controlled, for the VLAN to which this entry's objects
        apply.  If this object has the value -1, the MD Level for MHF
        creation for this VLAN is controlled by
        dot1agCfmDefaultMdDefLevel.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.3.1.3:c, 12.14.3.2.2:b"
    DEFVAL {-1}
    ::= { dot1agCfmDefaultMdEntry 4 }

dot1agCfmDefaultMdMhfCreation OBJECT-TYPE
    SYNTAX      Dot1agCfmMhfCreation
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
       "A value indicating if the Management entity can create MHFs
        (MIP Half Function) for this VID at this MD Level.  If this
        object has the value defMHFdefer, MHF creation for this VLAN
        is controlled by dot1agCfmDefaultMdDefMhfCreation.

        The value of this variable is meaningless if the values of
        dot1agCfmDefaultMdStatus is false.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.3.1.3:d"
    DEFVAL {defMHFdefer}
    ::= { dot1agCfmDefaultMdEntry 5 }

dot1agCfmDefaultMdIdPermission OBJECT-TYPE
    SYNTAX      Dot1agCfmIdPermission
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MHFs
        created by the Default Maintenance Domain.  If this object
        has the value sendIdDefer, Sender ID TLV transmission for
        this VLAN is controlled by dot1agCfmDefaultMdDefIdPermission.

        The value of this variable is meaningless if the values of
        dot1agCfmDefaultMdStatus is false.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.3.1.3:e"
    DEFVAL { sendIdDefer }
    ::= { dot1agCfmDefaultMdEntry 6 }

-- ******************************************************************
-- The CFM configuration error list managed object. This group will
-- contain all the MIB objects used to read the interfaces and VIDs
-- configured incorrectly.
-- ******************************************************************

-- ******************************************************************
-- The CFM Configuration Error List Table
-- ******************************************************************

dot1agCfmConfigErrorListTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmConfigErrorListEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The CFM Configuration Error List table provides a list of
        Interfaces and VIDs that are incorrectly configured.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.4"
    ::= {dot1agCfmConfigErrorList 1}

dot1agCfmConfigErrorListEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmConfigErrorListEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The Config Error List Table  entry
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    INDEX { dot1agCfmConfigErrorListVid,
            dot1agCfmConfigErrorListIfIndex
          }
    ::= { dot1agCfmConfigErrorListTable 1}

Dot1agCfmConfigErrorListEntry ::= SEQUENCE {
      dot1agCfmConfigErrorListVid         VlanId,
      dot1agCfmConfigErrorListIfIndex     InterfaceIndex,
      dot1agCfmConfigErrorListErrorType   Dot1agCfmConfigErrors
    }


dot1agCfmConfigErrorListVid OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The VLAN ID of the VLAN with interfaces in error.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.4.1.2:a"
    ::= { dot1agCfmConfigErrorListEntry 1 }

dot1agCfmConfigErrorListIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "This object is the IfIndex of the interface.

        Upon a restart of the system, the system SHALL, if necessary,
        change the value of this variable so that it indexes the
        entry in the interface table with the same value of ifAlias
        that it indexed before the system restart.  If no such
        entry exists, then the system SHALL delete any entries in
        dot1agCfmConfigErrorListTable indexed by that
        InterfaceIndex value.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.4.1.2:b"
    ::= { dot1agCfmConfigErrorListEntry 2 }

dot1agCfmConfigErrorListErrorType OBJECT-TYPE
    SYNTAX      Dot1agCfmConfigErrors
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
       "A vector of Boolean error conditions from 22.2.4, any of
        which may be true:

        0) CFMleak;
        1) ConflictingVids;
        2) ExcessiveLevels;
        3) OverlappedLevels.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.4.1.3:b"
    ::= { dot1agCfmConfigErrorListEntry 3 }

-- ******************************************************************
-- The Maintenance Domain Managed Object.  This group contains all  
-- the MIB objects used to maintain Maintenance Domains.
-- ******************************************************************

dot1agCfmMdTableNextIndex OBJECT-TYPE
    SYNTAX      Dot1afCfmIndexIntegerNextFree
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains an unused value for dot1agCfmMdIndex in
        the dot1agCfmMdTable, or a zero to indicate that none exist.
       "
    ::= { dot1agCfmMd 1 }

-- ******************************************************************
-- The Maintenance Domain Table
-- ******************************************************************

dot1agCfmMdTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain table. Each row in the table
        represents a different Maintenance Domain.

        A Maintenance Domain is described in 802.1ag (3.22) as the
        network or the part of the network for which faults in
        connectivity are to be managed. The boundary of a Maintenance
        Domain is defined by a set of DSAPs, each of which can become
        a point of connectivity to a service instance.
       "
    REFERENCE
       "802.1ag clauses 3.22 and 18.1"
    ::= { dot1agCfmMd 2 }

dot1agCfmMdEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain table entry. This entry is not lost
        upon reboot. It is backed up by stable storage.
       "
    INDEX {dot1agCfmMdIndex }
    ::= { dot1agCfmMdTable 1 }

Dot1agCfmMdEntry ::= SEQUENCE {
      dot1agCfmMdIndex                Unsigned32,
      dot1agCfmMdFormat               Dot1agCfmMaintDomainNameType,
      dot1agCfmMdName                 Dot1agCfmMaintDomainName,
      dot1agCfmMdMdLevel              Dot1agCfmMDLevel,
      dot1agCfmMdMhfCreation          Dot1agCfmMhfCreation,
      dot1agCfmMdMhfIdPermission      Dot1agCfmIdPermission,
      dot1agCfmMdMaNextIndex          Dot1afCfmIndexIntegerNextFree,
      dot1agCfmMdRowStatus            RowStatus
    }

dot1agCfmMdIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index to the Maintenance Domain table.

        dot1agCfmMdTableNextIndex needs to be inspected to find an
        available index for row-creation.

        Referential integrity is required, i.e., the index needs to be
        persistent upon a reboot or restart of a device.  The index
        can never be reused for other Maintenance Domain.  The index
        value SHOULD keep increasing up to the time that they wrap
        around. This is to facilitate access control based on OID.
       "
    ::= { dot1agCfmMdEntry 1 }

dot1agCfmMdFormat OBJECT-TYPE
    SYNTAX      Dot1agCfmMaintDomainNameType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The type (and thereby format) of the Maintenance Domain Name."
    REFERENCE
       "21.6.5.1"
    DEFVAL { charString }
    ::= { dot1agCfmMdEntry 2 }

dot1agCfmMdName OBJECT-TYPE
    SYNTAX      Dot1agCfmMaintDomainName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain name. The type/format of this object
        is determined by the value of the dot1agCfmMdNameType object.
          
        Each Maintenance Domain has unique name amongst all those
        used or available to a service provider or operator.  It
        facilitates easy identification of administrative
        responsibility for each Maintenance Domain.

        Clause 3.24 defines a Maintenance Domain name as the
        identifier, unique over the domain for which CFM is to
        protect against accidental concatenation of Service
        Instances, of a particular Maintenance Domain.
       "
    REFERENCE
       "802.1ag clauses 3.24, 12.14.5, and 21.6.5.3"
    DEFVAL { "DEFAULT" }
    ::= { dot1agCfmMdEntry 3 }

dot1agCfmMdMdLevel OBJECT-TYPE
    SYNTAX      Dot1agCfmMDLevel
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain Level."
    REFERENCE
       "12.14.5.1.3:b"
    DEFVAL { 0 }
    ::= { dot1agCfmMdEntry 4 }

dot1agCfmMdMhfCreation OBJECT-TYPE
    SYNTAX      Dot1agCfmMhfCreation 
--                {
--                  defMHFnone     (1),
--                  defMHFdefault  (2),
--                  defMHFexplicit (3)
--                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating whether the management entity can
        create MHFs (MIP Half Function) for this Maintenance Domain.
        Since, in this variable, there is no encompassing Maintenance
        Domain, the value defMHFdefer is not allowed.
       "
    REFERENCE
       "12.14.5.1.3:c"
    DEFVAL { defMHFnone }
    ::= { dot1agCfmMdEntry 5 }

dot1agCfmMdMhfIdPermission OBJECT-TYPE
    SYNTAX      Dot1agCfmIdPermission 
--                {
--                  sendIdNone          (1),
--                  sendIdChassis       (2),
--                  sendIdManage        (3),
--                  sendIdChassisManage (4)
--                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MPs
        configured in this Maintenance Domain.  Since, in this
        variable, there is no encompassing Maintenance Domain, the
        value sendIdDefer is not allowed.
       "
    REFERENCE
       "12.14.5.1.3:d"
    DEFVAL { sendIdNone }
    ::= { dot1agCfmMdEntry 6 }

dot1agCfmMdMaNextIndex OBJECT-TYPE
    SYNTAX      Dot1afCfmIndexIntegerNextFree
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Value to be used as the index of the MA table entries, both
        the dot1agCfmMaNetTable and the dot1agCfmMaCompTable, for
        this Maintenance Domain when the management entity wants to
        create a new row in those tables.
       "
   ::= { dot1agCfmMdEntry 7 }

dot1agCfmMdRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns MUST have a valid value before a row
        can be activated.
       "
    ::= { dot1agCfmMdEntry 8 }

-- ******************************************************************
-- The Maintenance Association Object. This group contains all the
-- MIB objects used to read, create, modify, and delete Maintenance
-- Associations in the MIB.
-- ******************************************************************

-- ******************************************************************
-- The Maintenance Association (MA) Network Table
-- ******************************************************************

dot1agCfmMaNetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmMaNetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Association table.  Each row in the table
        represents an MA.  An MA is a set of MEPs, each configured
        with a single service instance.

        This is the part of the complete MA table that is constant
        across all Bridges in a Maintenance Domain, and across all
        components of a single Bridge.  That part of the MA table that
        can vary from Bridge component to Bridge component is contained
        in the dot1agCfmMaCompTable.

        Creation of a Service Instance establishes a connectionless
        association among the selected DSAPs.  Configuring a
        Maintenance association End Point (MEP) at each of the
        DSAPs creates a Maintenance Association (MA) to monitor
        that connectionless connectivity.  The MA is identified by a
        Short MA Name that is unique within the Maintenance Domain
        and chosen to facilitate easy identification of the Service
        Instance.  Together, the Maintenance Domain Name and the
        Short MA Name form the Maintenance Association Identifier
        (MAID) that is carried in CFM Messages to identify
        incorrect connectivity among Service Instances.  A small
        integer, the Maintenance association End Point Identifier
        (MEPID), identifies each MEP among those configured on a
        single MA (802.1ag clauses 3.19 and 18.2).

        This table uses two indices, first index is the index of the
        Maintenance Domain table.  The second index is the same as the
        index of the dot1agCfmMaCompEntry for the same MA.

        The writable objects in this table need to be persistent
        upon reboot or restart of a device.

       "
    REFERENCE
       "18.2"
    ::= { dot1agCfmMa 1 }

dot1agCfmMaNetEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmMaNetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MA table entry."
    INDEX {dot1agCfmMdIndex, dot1agCfmMaIndex }
    ::= { dot1agCfmMaNetTable 1 }

Dot1agCfmMaNetEntry ::= SEQUENCE {
      dot1agCfmMaIndex                   Unsigned32,
      dot1agCfmMaNetFormat               Dot1agCfmMaintAssocNameType,
      dot1agCfmMaNetName                 Dot1agCfmMaintAssocName,
      dot1agCfmMaNetCcmInterval          Dot1agCfmCcmInterval,
      dot1agCfmMaNetRowStatus            RowStatus
    }

dot1agCfmMaIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

       "Index of the MA table dot1agCfmMdMaNextIndex needs to
        be inspected to find an available index for row-creation.
       "
    ::= { dot1agCfmMaNetEntry 1 }

dot1agCfmMaNetFormat OBJECT-TYPE
    SYNTAX      Dot1agCfmMaintAssocNameType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The type (and thereby format) of the Maintenance Association
        Name.
       "
    REFERENCE
       "802.1ag clauses 21.6.5.4"
    ::= { dot1agCfmMaNetEntry 2 }

dot1agCfmMaNetName OBJECT-TYPE
    SYNTAX      Dot1agCfmMaintAssocName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Short Maintenance Association name. The type/format of
        this object is determined by the value of the
        dot1agCfmMaNetNameType object.  This name MUST be unique within
        a maintenance domain.
       "
    REFERENCE
       "802.1ag clauses 21.6.5.6, and Table 21-20"
    ::= { dot1agCfmMaNetEntry 3 }

dot1agCfmMaNetCcmInterval OBJECT-TYPE
    SYNTAX      Dot1agCfmCcmInterval
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Interval between CCM transmissions to be used by all MEPs
        in the MA.
       "
    REFERENCE
       "12.14.6.1.3:e"
    DEFVAL { interval1s }
    ::= { dot1agCfmMaNetEntry 4 }

dot1agCfmMaNetRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns MUST have a valid value before a row
        can be activated.
       "
    ::= { dot1agCfmMaNetEntry 5 }

-- ******************************************************************
-- The Maintenance Association (MA) Component Table
-- ******************************************************************

dot1agCfmMaCompTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmMaCompEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The Maintenance Association table.  Each row in the table
        represents an MA.  An MA is a set of MEPs, each configured
        with a single service instance.

        This is the part of the complete MA table that is variable
        across the Bridges in a Maintenance Domain, or across the
        components of a single Bridge.  That part of the MA table that
        is constant across the Bridges and their components in a
        Maintenance Domain is contained in the dot1agCfmMaNetTable.

        This table uses three indices, first index is the
        Dot1agCfmPbbComponentIdentifier that identifies the component
        within the Bridge for which the information in the
        dot1agCfmMaCompEntry applies.  The second is the index of the
        Maintenance Domain table.  The third index is the same as the
        index of the dot1agCfmMaNetEntry for the same MA.

        The writable objects in this table need to be persistent
        upon reboot or restart of a device.

        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "18.2"
    ::= { dot1agCfmMa 2 }

dot1agCfmMaCompEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmMaCompEntry
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The MA table entry.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    INDEX {dot1agCfmMaComponentId,
           dot1agCfmMdIndex, dot1agCfmMaIndex }
    ::= { dot1agCfmMaCompTable 1 }

Dot1agCfmMaCompEntry ::= SEQUENCE {
      dot1agCfmMaComponentId         Dot1agCfmPbbComponentIdentifier,
      dot1agCfmMaCompPrimaryVlanId   VlanIdOrNone,
      dot1agCfmMaCompMhfCreation     Dot1agCfmMhfCreation,
      dot1agCfmMaCompIdPermission    Dot1agCfmIdPermission,
      dot1agCfmMaCompNumberOfVids    Unsigned32,
      dot1agCfmMaCompRowStatus       RowStatus
    }

dot1agCfmMaComponentId OBJECT-TYPE
    SYNTAX      Dot1agCfmPbbComponentIdentifier
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION
       "The bridge component within the system to which the information
        in this dot1agCfmMaCompEntry applies.  If the system is not a
        Bridge, or if only one component is present in the Bridge, then
        this variable (index) MUST be equal to 1.
	**NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.3 l)"
    ::= { dot1agCfmMaCompEntry 1 }

dot1agCfmMaCompPrimaryVlanId OBJECT-TYPE
    SYNTAX      VlanIdOrNone
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
       "The Primary VLAN ID with which the Maintenance Association is
        associated, or 0 if the MA is not attached to any VID.  If
        the MA is associated with more than one VID, the
        dot1agCfmVlanTable lists them.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.6.1.3:b"
    ::= { dot1agCfmMaCompEntry 2 }

dot1agCfmMaCompMhfCreation OBJECT-TYPE
    SYNTAX      Dot1agCfmMhfCreation
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
       "Indicates if the Management entity can create MHFs (MIP Half
        Function) for this MA.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.6.1.3:c"
    DEFVAL { defMHFdefer }
    ::= { dot1agCfmMaCompEntry 3 }

dot1agCfmMaCompIdPermission OBJECT-TYPE
    SYNTAX      Dot1agCfmIdPermission
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
       "Enumerated value indicating what, if anything, is to be
        included in the Sender ID TLV (21.5.3) transmitted by MPs
        configured in this MA.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.6.1.3:d"
    DEFVAL { sendIdDefer }
    ::= { dot1agCfmMaCompEntry 4 }

dot1agCfmMaCompNumberOfVids OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
       "The number of VIDs associated with the MA.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    REFERENCE
       "12.14.6.1.3:b"
    ::= { dot1agCfmMaCompEntry 5 }

dot1agCfmMaCompRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns MUST have a valid value before a row
        can be activated.
        **NOTE: this object is deprecated due to re-indexing of the 
	table.
       "
    ::= { dot1agCfmMaCompEntry 6 }

-- ******************************************************************
-- The list of known MEPs for a given MA
-- ******************************************************************

dot1agCfmMaMepListTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmMaMepListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "List of MEPIDs that belong to this MA.
 
        Clause 12.14.6.1.3 specifies that a list of MEPIDs in all
        bridges in that MA, but since SNMP SMI does not allow to
        state in a MIB that an object in a table is an array, the 
        information has to be stored in another table with two
        indices, being the first index, the index of the table that 
        contains the list or array.

        For all bridges in which the same MAID {dot1agCfmMdFormat,
        dot1agCfmMdName, dot1agCfmMaNetFormat, and dot1agCfmMaNetName}
        is configured, the same set of dot1agCfmMaMepListIdentifiers
        MUST be configured in the bridges' dot1agCfmMaMepListTables.
        This allows each MEP to determine whether or not it is
        receiving CCMs from all of the other MEPs in the MA.

        For example, if one were creating a new MA whose MAID were
        {charString, 'Dom1', charString, 'MA1'}, that had 2 MEPs, whose
        MEPIDs were 1 and 3, one could, in Bridge A:
         1. Get a new MD index d from dot1agCfmMdTableNextIndex.
         2. Create the Maintenance Domain {charString, 'Dom1'}.
         3. Get a new MA index a from dot1agCfmMdMaNextIndex [d].
         4. Create the Maintenance Association {charString, 'MA1'}.
         5. Create a new dot1agCfmMaMepListEntry for each of the MEPs
            in the MA: [d, a, 1] and [d, a, 3].
         6. Create one of the new MEPs, say [d, a, 1].
        Then, in Bridge B:
         7. Do all of these steps 1-6, except for using the other MEPID
            for the new MEP in Step 6, in this example, MEPID 3.
        Note that, when creating the MA, MEP List Table, and MEP
        entries in the second bridge, the indices 'd' and 'a'
        identifying the MAID {charString, 'Dom1', charString, 'MA1'}
        may have different values than those in the first Bridge.
       "
    REFERENCE
       "12.14.6.1.3:g"
    ::= { dot1agCfmMa 3 }

dot1agCfmMaMepListEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmMaMepListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The known MEPS table entry."
    INDEX { dot1agCfmMdIndex,
            dot1agCfmMaIndex,
            dot1agCfmMaMepListIdentifier
          }
    ::= { dot1agCfmMaMepListTable 1 }

Dot1agCfmMaMepListEntry ::= SEQUENCE {
      dot1agCfmMaMepListIdentifier  Dot1agCfmMepId,
      dot1agCfmMaMepListRowStatus   RowStatus
    }

dot1agCfmMaMepListIdentifier OBJECT-TYPE
    SYNTAX      Dot1agCfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "MEPID"
    REFERENCE
       "12.14.6.1.3:g"
    ::= { dot1agCfmMaMepListEntry 1 }

dot1agCfmMaMepListRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row. Read SNMPv2-TC (RFC1903) for an
        explanation of the possible values this object can take.
       "
    ::= { dot1agCfmMaMepListEntry 2 }

-- ******************************************************************
-- The MEP Object.  This object represents a Maintenance End
-- Point as described in 802.1ag document.
-- ******************************************************************

-- ******************************************************************
-- The MEP Table
-- ******************************************************************

dot1agCfmMepTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Association End Point (MEP) table.

        Each row in the table represents a different MEP.  A MEP is
        an actively managed CFM entity, associated with a specific
        DSAP of a Service Instance, which can generate and receive
        CFM PDUs and track any responses.  It is an end point of a
        single Maintenance Association, and is an endpoint of a
        separate Maintenance Entity for each of the other MEPs in
        the same Maintenance Association (802.1ag clause 3.19).

        This table uses three indices. The first two indices are the
        indices of the Maintenance Domain and MA tables, the reason
        being that a MEP is always related to an MA and Maintenance
        Domain.

        The MEP table also stores all the managed objects for sending
        LBM and LTM.

        *LBM Managed objects

        LBM Managed objects in the MEP table
        enables the management entity to initiate
        transmission of Loopback messages.  It will signal the MEP
        that it SHOULD transmit some number of Loopback messages
        and detect the detection (or lack thereof) of the
        corresponding Loopback messages.

        Steps to use entries in this table:

        1) Wait for dot1agCfmMepTransmitLbmStatus value to be
           false.  To do this do this sequence:
           a. an SNMP GET for both SnmpSetSerialNo and
              dot1agCfmMepTransmitLbmStatus objects (in same SNMP
              PDU).
           b. Check if value for dot1agCfmMepTransmitLbmStatus is false.
              - if not, wait x seconds, go to step a above.
              - if yes, save the value of SnmpSetSerialNo and go
                to step 2) below
        2) Change dot1agCfmMepTransmitLbmStatus value from false to
           true to ensure no other management entity will use
           the service. In order to not disturb a possible other NMS
           do this by sending an SNMP SET for both SnmpSetSerialNo
           and dot1agCfmMepTransmitLbmStatus objects (in same SNMP
           PDU,  and make sure SNmpSetSerialNo is the first varBind).
           For the SnmpSetSerialNo varBind, use the value that you
           obtained in step 1)a.. This ensures that two cooperating
           NMSes will not step on each others toes.
           Setting this MIB object does not set the corresponding
           LBIactive state machine variable.
        3) Setup the different data to be sent (number of messages,
           optional TLVs,...), except do not set
           dot1agCfmMepTransmitLbmMessages.
        4) Record the current values of dot1agCfmMepLbrIn,
           dot1agCfmMepLbrInOutOfOrder, and dot1agCfmMepLbrBadMsdu.
        6) Set dot1agCfmMepTransmitLbmMessages to a non-zero value to
           initiate transmission of Loopback messages.
           The dot1agCfmMepTransmitLbmMessages indicates the
           number of LBMs to be sent and is not decremented as
           loopbacks are actually sent. dot1agCfmMepTransmitLbmMessages
           is not equivalent to the LBMsToSend state machine variable.
        7) Check the value of dot1agCfmMepTransmitLbmResultOK to
           find out if the operation was successfully initiated or
           not.
        8) Monitor the value of dot1agCfmMepTransmitLbmStatus.
           When it is reset to false, the last LBM has been transmitted.
           Wait an additional 5 seconds to ensure that all LBRs have
           been returned.
        9) Compare dot1agCfmMepLbrIn, dot1agCfmMepLbrInOutOfOrder,
           and dot1agCfmMepLbrBadMsdu to their old values from step
           4, above, to get the results of the test.

        *LTM Managed objects
        The LTM Managed objects in the MEP table are used in a manner
        similar to that described for LBM transmission, above.  Upon
        successfully initiating the transmission, the variables
        dot1agCfmMepTransmitLtmSeqNumber and
        dot1agCfmMepTransmitLtmEgressIdentifier return the information
        required to recover the results of the LTM from the
        dot1agCfmLtrTable.
       "
    REFERENCE
       "802.1ag clauses 12.14.7 and 19.2"
    ::= { dot1agCfmMep 1 }

dot1agCfmMepEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MEP table entry"
    INDEX { dot1agCfmMdIndex,
            dot1agCfmMaIndex,
            dot1agCfmMepIdentifier
          }
    ::= { dot1agCfmMepTable 1 }

Dot1agCfmMepEntry ::= SEQUENCE {
      dot1agCfmMepIdentifier                   Dot1agCfmMepId,
      dot1agCfmMepIfIndex                      InterfaceIndexOrZero,
      dot1agCfmMepDirection                    Dot1agCfmMpDirection,
      dot1agCfmMepPrimaryVid                   Unsigned32,
      dot1agCfmMepActive                       TruthValue,
      dot1agCfmMepFngState                     Dot1agCfmFngState,
      dot1agCfmMepCciEnabled                   TruthValue,
      dot1agCfmMepCcmLtmPriority               Unsigned32,
      dot1agCfmMepMacAddress                   MacAddress,
      dot1agCfmMepLowPrDef                 Dot1agCfmLowestAlarmPri,
      dot1agCfmMepFngAlarmTime                 TimeInterval,
      dot1agCfmMepFngResetTime                 TimeInterval,
      dot1agCfmMepHighestPrDefect          Dot1agCfmHighestDefectPri,
      dot1agCfmMepDefects                      Dot1agCfmMepDefects,
      dot1agCfmMepErrorCcmLastFailure          OCTET STRING,
      dot1agCfmMepXconCcmLastFailure           OCTET STRING,
      dot1agCfmMepCcmSequenceErrors            Counter32,
      dot1agCfmMepCciSentCcms                  Counter32,
      dot1agCfmMepNextLbmTransId               Unsigned32,
      dot1agCfmMepLbrIn                        Counter32,
      dot1agCfmMepLbrInOutOfOrder              Counter32,
      dot1agCfmMepLbrBadMsdu                   Counter32,
      dot1agCfmMepLtmNextSeqNumber             Unsigned32,
      dot1agCfmMepUnexpLtrIn                   Counter32,
      dot1agCfmMepLbrOut                       Counter32,
      dot1agCfmMepTransmitLbmStatus            TruthValue,
      dot1agCfmMepTransmitLbmDestMacAddress    MacAddress,
      dot1agCfmMepTransmitLbmDestMepId         Dot1agCfmMepIdOrZero,
      dot1agCfmMepTransmitLbmDestIsMepId       TruthValue,
      dot1agCfmMepTransmitLbmMessages          Integer32,
      dot1agCfmMepTransmitLbmDataTlv           OCTET STRING,
      dot1agCfmMepTransmitLbmVlanPriority      Integer32,
      dot1agCfmMepTransmitLbmVlanDropEnable    TruthValue,
      dot1agCfmMepTransmitLbmResultOK          TruthValue,
      dot1agCfmMepTransmitLbmSeqNumber         Unsigned32,
      dot1agCfmMepTransmitLtmStatus            TruthValue,
      dot1agCfmMepTransmitLtmFlags             BITS,
      dot1agCfmMepTransmitLtmTargetMacAddress  MacAddress,
      dot1agCfmMepTransmitLtmTargetMepId       Dot1agCfmMepIdOrZero,
      dot1agCfmMepTransmitLtmTargetIsMepId     TruthValue,
      dot1agCfmMepTransmitLtmTtl               Unsigned32,
      dot1agCfmMepTransmitLtmResult            TruthValue,
      dot1agCfmMepTransmitLtmSeqNumber         Unsigned32,
      dot1agCfmMepTransmitLtmEgressIdentifier  OCTET STRING,
      dot1agCfmMepRowStatus                    RowStatus
    }

dot1agCfmMepIdentifier OBJECT-TYPE
    SYNTAX      Dot1agCfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Integer that is unique among all the MEPs in the same MA.
        Other definition is: a small integer, unique over a given
        Maintenance Association, identifying a specific Maintenance
        association End Point (3.19).

        MEP Identifier is also known as the MEPID.
       "
    REFERENCE
       "802.1ag clauses 3.19, 19.2 and 12.14.7"
    ::= { dot1agCfmMepEntry 1 }

dot1agCfmMepIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is the interface index of the interface either a
        bridge port, or an aggregated IEEE 802.1 link within a bridge
        port, to which the MEP is attached.

        Upon a restart of the system, the system SHALL, if necessary,
        change the value of this variable so that it indexes the
        entry in the interface table with the same value of ifAlias
        that it indexed before the system restart.  If no such
        entry exists, then the system SHALL set this variable to 0.
       "
    REFERENCE
       "12.14.7.1.3:b"
    ::= { dot1agCfmMepEntry 2 }

dot1agCfmMepDirection OBJECT-TYPE
    SYNTAX      Dot1agCfmMpDirection
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The direction in which the MEP faces on the Bridge port."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:c and 19.2"
    ::= { dot1agCfmMepEntry 3 }

dot1agCfmMepPrimaryVid OBJECT-TYPE
    SYNTAX      Unsigned32(0..16777215)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An integer indicating the Primary VID of the MEP, always
        one of the VIDs assigned to the MEP's MA.  The value 0
        indicates that either the Primary VID is that of the
        MEP's MA, or that the MEP's MA is associated with no VID."
   REFERENCE
       "802.1ag clauses 12.14.7.1.3:d"
   DEFVAL { 0 }
    ::= { dot1agCfmMepEntry 4 }

dot1agCfmMepActive OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Administrative state of the MEP

        A Boolean indicating the administrative state of the MEP.

        True indicates that the MEP is to function normally, and
        false that it is to cease functioning."
   REFERENCE
       "802.1ag clauses 12.14.7.1.3:e and 20.9.1"
   DEFVAL { false }
   ::= { dot1agCfmMepEntry 5 }

dot1agCfmMepFngState OBJECT-TYPE
    SYNTAX      Dot1agCfmFngState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Current state of the MEP Fault Notification Generator
        State Machine.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:f and 20.35"
    DEFVAL { fngReset }
    ::= { dot1agCfmMepEntry 6 }

dot1agCfmMepCciEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "If set to true, the MEP will generate CCM messages."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:g and 20.10.1"
    DEFVAL { false }
    ::= { dot1agCfmMepEntry 7 }

dot1agCfmMepCcmLtmPriority OBJECT-TYPE
    SYNTAX      Unsigned32 (0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The priority value for CCMs and LTMs transmitted by the MEP.
        Default Value is the highest priority value allowed to pass
        through the bridge port for any of this MEPs VIDs.
        The management entity can obtain the default value for this 
        variable from the priority regeneration table by extracting the 
        highest priority value in this table on this MEPs bridge port.
        (1 is lowest, then 2, then 0, then 3-7).
       "
    REFERENCE
       "12.14.7.1.3:h"
    ::= { dot1agCfmMepEntry 8 }

dot1agCfmMepMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address of the MEP."
    REFERENCE
      "12.14.7.1.3:i and 19.4"
    ::= { dot1agCfmMepEntry 9 }

dot1agCfmMepLowPrDef OBJECT-TYPE
    SYNTAX      Dot1agCfmLowestAlarmPri
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An integer value specifying the lowest priority defect 
        that is allowed to generate fault alarm.
       "
    REFERENCE
       "12.14.7.1.3:k and 20.9.5 and Table 20-1"
    DEFVAL { macRemErrXcon }
    ::= { dot1agCfmMepEntry 10}

dot1agCfmMepFngAlarmTime OBJECT-TYPE
    SYNTAX      TimeInterval (250..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The time that defects MUST be present before a Fault Alarm is
        issued (fngAlarmTime. 20.33.3) (default 2.5s).
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:l and 20.33.3"
    DEFVAL { 250 }
    ::= { dot1agCfmMepEntry 11 }

dot1agCfmMepFngResetTime OBJECT-TYPE
    SYNTAX      TimeInterval (250..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The time that defects MUST be absent before resetting a
        Fault Alarm (fngResetTime, 20.33.4) (default 10s).
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:m and 20.33.4"
    DEFVAL { 1000 }
    ::= { dot1agCfmMepEntry 12 }
   
dot1agCfmMepHighestPrDefect OBJECT-TYPE
    SYNTAX   Dot1agCfmHighestDefectPri
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The highest priority defect that has been present since the
        MEPs Fault Notification Generator State Machine was last in
        the FNG_RESET state.
       "
    REFERENCE
       "12.14.7.1.3:n  20.33.9 and Table 21-1"
    ::= { dot1agCfmMepEntry 13 }

dot1agCfmMepDefects OBJECT-TYPE
    SYNTAX      Dot1agCfmMepDefects
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A vector of Boolean error conditions from Table 20-1, any of
        which may be true:

        DefRDICCM(0)
        DefMACstatus(1)
        DefRemoteCCM(2)
        DefErrorCCM(3)
        DefXconCCM(4)
       "
    REFERENCE
       ".1ag clauses 12.14.7.1.3:o, 12.14.7.1.3:p, 12.14.7.1.3:q,
        12.14.7.1.3:r, 12.14.7.1.3:s, 20.21.3, 20.23.3, 20.33.5,
        20.33.6, 20.33.7."
    ::= { dot1agCfmMepEntry 14 }

dot1agCfmMepErrorCcmLastFailure OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..1522))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The last-received CCM that triggered an DefErrorCCM fault."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:t and 20.21.2"
    ::= { dot1agCfmMepEntry 15 }

dot1agCfmMepXconCcmLastFailure OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..1522))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The last-received CCM that triggered a DefXconCCM fault."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:u and 20.23.2"
    ::= { dot1agCfmMepEntry 16 }

dot1agCfmMepCcmSequenceErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The total number of out-of-sequence CCMs received from all
        remote MEPs.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:v and 20.16.12"
    ::= { dot1agCfmMepEntry 17 }

dot1agCfmMepCciSentCcms OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Total number of Continuity Check messages transmitted."
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:w and 20.10.2"
    ::= { dot1agCfmMepEntry 18 }

dot1agCfmMepNextLbmTransId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Next sequence number/transaction identifier to be sent in a
        Loopback message. This sequence number can be zero because
        it wraps around.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.1.3:x and 20.28.2"
    ::= { dot1agCfmMepEntry 19 }

dot1agCfmMepLbrIn OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Total number of valid, in-order Loopback Replies received."
    REFERENCE
       "12.14.7.1.3:y and 20.31.1"
    ::= { dot1agCfmMepEntry 20 }

dot1agCfmMepLbrInOutOfOrder OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The total number of valid, out-of-order Loopback Replies
        received.
       "
    REFERENCE
       "12.14.7.1.3:z and 20.31.1"
    ::= { dot1agCfmMepEntry 21 }

dot1agCfmMepLbrBadMsdu OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The total number of LBRs received whose
        mac_service_data_unit did not match (except for the OpCode)
        that of the corresponding LBM (20.2.3).
       "
    REFERENCE
       "12.14.7.1.3:aa  20.2.3"
    ::= { dot1agCfmMepEntry 22}

dot1agCfmMepLtmNextSeqNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Next transaction identifier/sequence number to be sent in a
        Linktrace message. This sequence number can be zero because
        it wraps around.
       "
    REFERENCE
       "12.14.7.1.3:ab and 20.36.1"
    ::= { dot1agCfmMepEntry 23 }

dot1agCfmMepUnexpLtrIn OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The total number of unexpected LTRs received (20.39.1).
       "
    REFERENCE
       "12.14.7.1.3:ac  20.39.1"
    ::= { dot1agCfmMepEntry 24 }

dot1agCfmMepLbrOut OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Total number of Loopback Replies transmitted."
    REFERENCE
       "12.14.7.1.3:ad and 20.26.2"
    ::= { dot1agCfmMepEntry 25 }

dot1agCfmMepTransmitLbmStatus OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "A Boolean flag set to true by the MEP Loopback Initiator State
       Machine or an MIB manager to indicate
       that another LBM is being transmitted.
       Reset to false by the MEP Loopback Initiator State Machine."
   DEFVAL { false }
   ::= { dot1agCfmMepEntry 26 }

dot1agCfmMepTransmitLbmDestMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Target MAC Address Field to be transmitted: A unicast
        destination MAC address.
        This address will be used if the value of the column
        dot1agCfmMepTransmitLbmDestIsMepId is 'false'.
       "
    REFERENCE
       "12.14.7.3.2:b"
    ::= { dot1agCfmMepEntry 27 }

dot1agCfmMepTransmitLbmDestMepId OBJECT-TYPE
    SYNTAX      Dot1agCfmMepIdOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance association End Point Identifier of another
        MEP in the same Maintenance Association to which the LBM is
        to be sent.
        This address will be used if the value of the column
        dot1agCfmMepTransmitLbmDestIsMepId is 'true'.
       "
    REFERENCE
       "12.14.7.3.2:b"
    ::= { dot1agCfmMepEntry 28 }

dot1agCfmMepTransmitLbmDestIsMepId OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "True indicates that MEPID of the target MEP is used for
        Loopback transmission.
        False indicates that unicast destination MAC address of the
        target MEP is used for Loopback transmission.
       "
    REFERENCE
       "12.14.7.3.2:b"
    ::= {dot1agCfmMepEntry 29 }

dot1agCfmMepTransmitLbmMessages OBJECT-TYPE
    SYNTAX      Integer32(1..1024)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The number of Loopback messages to be transmitted."
    REFERENCE
       "12.14.7.3.2:c"
    DEFVAL { 1 }
    ::= {dot1agCfmMepEntry 30 }

dot1agCfmMepTransmitLbmDataTlv OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An arbitrary amount of data to be included in the Data TLV,
        if the Data TLV is selected to be sent.  The intent is to be able
        to fill the frame carrying the CFM PDU to its maximum length.
        This may lead to fragmentation in some cases.
       "
    REFERENCE
       "12.14.7.3.2:d"
    ::= { dot1agCfmMepEntry 31 }

dot1agCfmMepTransmitLbmVlanPriority OBJECT-TYPE
    SYNTAX      Integer32(0..7)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Priority. 3 bit value to be used in the VLAN tag, if present
        in the transmitted frame.

        The default value is CCM priority.
       "
    REFERENCE
       "12.14.7.3.2:e"
    ::= { dot1agCfmMepEntry 32 }

dot1agCfmMepTransmitLbmVlanDropEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Drop Enable bit value to be used in the VLAN tag, if present
        in the transmitted frame.

        For more information about VLAN Drop Enable, please check
        IEEE 802.1ad.
       "
    REFERENCE
       "12.14.7.3.2:e"
    DEFVAL { true }
    ::= { dot1agCfmMepEntry 33 }

dot1agCfmMepTransmitLbmResultOK OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates the result of the operation:

        - true       The Loopback Message(s) will be
                     (or has been) sent.
        - false      The Loopback Message(s) will not
                     be sent.
       "
    REFERENCE
       "12.14.7.3.3:a"
    DEFVAL { true }
    ::= { dot1agCfmMepEntry 34 }

dot1agCfmMepTransmitLbmSeqNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The Loopback Transaction Identifier
       (dot1agCfmMepNextLbmTransId) of the first LBM (to be) sent.
        The value returned is undefined if
        dot1agCfmMepTransmitLbmResultOK is false.
       "
    REFERENCE
       "12.14.7.3.3:a"
    ::= { dot1agCfmMepEntry 35 }

dot1agCfmMepTransmitLtmStatus OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "A Boolean flag set to true by the bridge port to indicate
       that another LTM may be transmitted. 
       Reset to false by the MEP Linktrace Initiator State Machine."
   DEFVAL { true }
   ::= { dot1agCfmMepEntry 36 }

dot1agCfmMepTransmitLtmFlags OBJECT-TYPE
    SYNTAX      BITS {
                  useFDBonly   (0)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The flags field for LTMs transmitted by the MEP."
    REFERENCE
       "12.14.7.4.2:b and 20.37.1"
    DEFVAL { {useFDBonly } }
    ::= { dot1agCfmMepEntry 37 }

dot1agCfmMepTransmitLtmTargetMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Target MAC Address Field to be transmitted: A unicast
        destination MAC address.
        This address will be used if the value of the column
        dot1agCfmMepTransmitLtmTargetIsMepId is 'false'.
       "
    REFERENCE
       "12.14.7.4.2:c"
    ::= { dot1agCfmMepEntry 38 }

dot1agCfmMepTransmitLtmTargetMepId OBJECT-TYPE
    SYNTAX      Dot1agCfmMepIdOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "An indication of the Target MAC Address Field to be
        transmitted:
        The Maintenance association End Point Identifier of
        another MEP in the same Maintenance Association
        This address will be used if the value of the column
        dot1agCfmMepTransmitLtmTargetIsMepId is 'true'.
       "
    REFERENCE
       "12.14.7.4.2:c"
    ::= { dot1agCfmMepEntry 39 }

dot1agCfmMepTransmitLtmTargetIsMepId OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "True indicates that MEPID of the target MEP is used for
        Linktrace transmission.
        False indicates that unicast destination MAC address of the
        target MEP is used for Loopback transmission.
       "
    REFERENCE
       "12.14.7.4.2:c"
    ::= { dot1agCfmMepEntry 40 }

dot1agCfmMepTransmitLtmTtl OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The LTM TTL field. Default value, if not specified, is 64.
        The TTL field indicates the number of hops remaining to the
        LTM.  Decremented by 1 by each Linktrace Responder that
        handles the LTM.  The value returned in the LTR is one less
        than that received in the LTM.  If the LTM TTL is 0 or 1, the
        LTM is not forwarded to the next hop, and if 0, no LTR is
        generated.
       "
    REFERENCE
       "12.14.7.4.2:d and 21.8.4"
    DEFVAL {64}
    ::= { dot1agCfmMepEntry 41 }

dot1agCfmMepTransmitLtmResult OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates the result of the operation:

        - true    The Linktrace Message will be (or has been) sent.
        - false   The Linktrace Message will not be sent"
    REFERENCE
       "12.14.7.4.3:a"
    DEFVAL { true }
    ::= { dot1agCfmMepEntry 42 }

dot1agCfmMepTransmitLtmSeqNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The LTM Transaction Identifier
        (dot1agCfmMepLtmNextSeqNumber) of the LTM sent.
        The value returned is undefined if
        dot1agCfmMepTransmitLtmResult is false.
       "
    REFERENCE
       "12.14.7.4.3:a"
    ::= { dot1agCfmMepEntry 43 }

dot1agCfmMepTransmitLtmEgressIdentifier OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(8))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Identifies the MEP Linktrace Initiator that is originating,
        or the Linktrace Responder that is forwarding, this LTM.
        The low-order six octets contain a 48-bit IEEE MAC address
        unique to the system in which the MEP Linktrace Initiator
        or Linktrace Responder resides.  The high-order two octets
        contain a value sufficient to uniquely identify the MEP
        Linktrace Initiator or Linktrace Responder within that system.

        For most Bridges, the address of any MAC attached to the
        Bridge will suffice for the low-order six octets, and 0 for
        the high-order octets.  In some situations, e.g., if multiple
        virtual Bridges utilizing emulated LANs are implemented in a
        single physical system, the high-order two octets can be used
        to differentiate among the transmitting entities.

        The value returned is undefined if
        dot1agCfmMepTransmitLtmResult is false.
       "
    REFERENCE
       "12.14.7.4.3:b and 21.8.8"
    ::= { dot1agCfmMepEntry 44 }
   
dot1agCfmMepRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns MUST have a valid value before a row
        can be activated.
       "
   ::= { dot1agCfmMepEntry 45 }

-- ******************************************************************
-- The Linktrace Reply Table
-- ******************************************************************

dot1agCfmLtrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmLtrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table extends the MEP table and contains a list of
        Linktrace replies received by a specific MEP in response to
        a linktrace message.

        SNMP SMI does not allow to state in a MIB that an object in
        a table is an array.  The solution is to take the index (or
        indices) of the first table and add one or more indices.
       "
    REFERENCE
       "12.14.7.5"
    ::= { dot1agCfmMep 2 }

dot1agCfmLtrEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmLtrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Linktrace Reply table entry."
    INDEX { dot1agCfmMdIndex,
            dot1agCfmMaIndex,
            dot1agCfmMepIdentifier,
            dot1agCfmLtrSeqNumber,
            dot1agCfmLtrReceiveOrder
          }
    ::= { dot1agCfmLtrTable 1 }

Dot1agCfmLtrEntry ::= SEQUENCE {
      dot1agCfmLtrSeqNumber            Unsigned32,
      dot1agCfmLtrReceiveOrder         Unsigned32,
      dot1agCfmLtrTtl                  Unsigned32,
      dot1agCfmLtrForwarded            TruthValue,
      dot1agCfmLtrTerminalMep          TruthValue,
      dot1agCfmLtrLastEgressIdentifier OCTET STRING,
      dot1agCfmLtrNextEgressIdentifier OCTET STRING,
      dot1agCfmLtrRelay            Dot1agCfmRelayActionFieldValue,
      dot1agCfmLtrChassisIdSubtype     LldpChassisIdSubtype,
      dot1agCfmLtrChassisId            LldpChassisId,
      dot1agCfmLtrManAddressDomain     TDomain,
      dot1agCfmLtrManAddress           TAddress,
      dot1agCfmLtrIngress          Dot1agCfmIngressActionFieldValue,
      dot1agCfmLtrIngressMac           MacAddress,
      dot1agCfmLtrIngressPortIdSubtype LldpPortIdSubtype,
      dot1agCfmLtrIngressPortId        LldpPortId,
      dot1agCfmLtrEgress           Dot1agCfmEgressActionFieldValue,
      dot1agCfmLtrEgressMac            MacAddress,
      dot1agCfmLtrEgressPortIdSubtype  LldpPortIdSubtype,
      dot1agCfmLtrEgressPortId         LldpPortId,
      dot1agCfmLtrOrganizationSpecificTlv  OCTET STRING
    }

dot1agCfmLtrSeqNumber OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Transaction identifier/Sequence number returned by a previous
        transmit linktrace message command, indicating which LTM's
        response is going to be returned.
       "
    REFERENCE
       "12.14.7.5.2:b"
    ::= { dot1agCfmLtrEntry 1}

dot1agCfmLtrReceiveOrder OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to distinguish among multiple LTRs with the same LTR
        Transaction Identifier field value.  dot1agCfmLtrReceiveOrder
        are assigned sequentially from 1, in the order that the
        Linktrace Initiator received the LTRs.
       "
    REFERENCE
       "12.14.7.5.2:c"
    ::= { dot1agCfmLtrEntry 2 }

dot1agCfmLtrTtl OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "TTL field value for a returned LTR."
    REFERENCE
       "12.14.7.5 and 20.36.2.2"
    ::= { dot1agCfmLtrEntry 3 }

dot1agCfmLtrForwarded OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates if a LTM was forwarded by the responding MP, as
        returned in the 'FwdYes' flag of the flags field.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:c and 20.36.2.1"
    ::= { dot1agCfmLtrEntry 4 }

dot1agCfmLtrTerminalMep OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A boolean value stating whether the forwarded LTM reached a
        MEP enclosing its MA, as returned in the Terminal MEP flag of
        the Flags field.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:d and 20.36.2.1"
    ::= { dot1agCfmLtrEntry 5 }

dot1agCfmLtrLastEgressIdentifier OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An octet field holding the Last Egress Identifier returned
        in the LTR Egress Identifier TLV of the LTR.
        The Last Egress Identifier identifies the MEP Linktrace 
        Initiator that originated, or the Linktrace Responder that 
        forwarded, the LTM to which this LTR is the response.  This
        is the same value as the Egress Identifier TLV of that LTM.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:e and 20.36.2.3"
    ::= { dot1agCfmLtrEntry 6 }

dot1agCfmLtrNextEgressIdentifier OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An octet field holding the Next Egress Identifier returned
        in the LTR Egress Identifier TLV of the LTR.  The Next Egress
        Identifier Identifies the Linktrace Responder that
        transmitted this LTR, and can forward the LTM to the next
        hop.  This is the same value as the Egress Identifier TLV of
        the forwarded LTM, if any. If the FwdYes bit of the Flags
        field is false, the contents of this field are undefined,
        i.e., any value can be transmitted, and the field is ignored
        by the receiver.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:f and 20.36.2.4"
    ::= { dot1agCfmLtrEntry 7 }

dot1agCfmLtrRelay OBJECT-TYPE
    SYNTAX      Dot1agCfmRelayActionFieldValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Value returned in the Relay Action field."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:g and 20.36.2.5"
    ::= { dot1agCfmLtrEntry 8 }

dot1agCfmLtrChassisIdSubtype OBJECT-TYPE
    SYNTAX      LldpChassisIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object specifies the format of the Chassis ID returned
        in the Sender ID TLV of the LTR, if any.  This value is
        meaningless if the dot1agCfmLtrChassisId has a length of 0."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:h and 21.5.3.2"
    ::= { dot1agCfmLtrEntry 9 }

dot1agCfmLtrChassisId OBJECT-TYPE
    SYNTAX      LldpChassisId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The Chassis ID returned in the Sender ID TLV of the LTR, if
        any. The format of this object is determined by the
        value of the dot1agCfmLtrChassisIdSubtype object.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:i and 21.5.3.3"
    ::= { dot1agCfmLtrEntry 10 }

dot1agCfmLtrManAddressDomain OBJECT-TYPE
    SYNTAX      TDomain
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The TDomain that identifies the type and format of
        the related dot1agCfmMepDbManAddress object, used to access
        the SNMP agent of the system transmitting the LTR.  Received
        in the LTR Sender ID TLV from that system.

        Typical values will be one of (not all inclusive) list:


           snmpUDPDomain          (from SNMPv2-TM, RFC3417)
           snmpIeee802Domain      (from SNMP-IEEE802-TM-MIB, RFC4789)

        The value 'zeroDotZero' (from RFC2578) indicates 'no management
        address was present in the LTR', in which case the related
        object dot1agCfmMepDbManAddress MUST have a zero-length OCTET
        STRING as a value.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:j, 21.5.3.5, 21.9.6"
    ::= { dot1agCfmLtrEntry 11 }

dot1agCfmLtrManAddress OBJECT-TYPE
    SYNTAX      TAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The TAddress that can be used to access the SNMP
        agent of the system transmitting the CCM, received in the CCM
        Sender ID TLV from that system.

        If the related object dot1agCfmLtrManAddressDomain contains
        the value 'zeroDotZero', this object dot1agCfmLtrManAddress
        MUST have a zero-length OCTET STRING as a value.
      "
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:j, 21.5.3.7, 21.9.6"
    ::= { dot1agCfmLtrEntry 12 }

dot1agCfmLtrIngress OBJECT-TYPE
    SYNTAX      Dot1agCfmIngressActionFieldValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value returned in the Ingress Action Field of the LTM.
        The value ingNoTlv(0) indicates that no Reply Ingress TLV was
        returned in the LTM."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:k and 20.36.2.6"
    ::= { dot1agCfmLtrEntry 13 }

dot1agCfmLtrIngressMac OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address returned in the ingress MAC address field.
        If the dot1agCfmLtrIngress object contains the value
        ingNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:l and 20.36.2.7"
    ::= { dot1agCfmLtrEntry 14 }

dot1agCfmLtrIngressPortIdSubtype OBJECT-TYPE
    SYNTAX      LldpPortIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Format of the Ingress Port ID.
        If the dot1agCfmLtrIngress object contains the value
        ingNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:m and 20.36.2.8"
   ::= { dot1agCfmLtrEntry 15 }

dot1agCfmLtrIngressPortId OBJECT-TYPE
    SYNTAX      LldpPortId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Ingress Port ID. The format of this object is determined by
        the value of the dot1agCfmLtrIngressPortIdSubtype object.
        If the dot1agCfmLtrIngress object contains the value
        ingNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:n and 20.36.2.9"
    ::= { dot1agCfmLtrEntry 16 }

dot1agCfmLtrEgress OBJECT-TYPE
    SYNTAX      Dot1agCfmEgressActionFieldValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value returned in the Egress Action Field of the LTM.
        The value egrNoTlv(0) indicates that no Reply Egress TLV was
        returned in the LTM."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:o and 20.36.2.10"
    ::= { dot1agCfmLtrEntry 17 }

dot1agCfmLtrEgressMac OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "MAC address returned in the egress MAC address field.
        If the dot1agCfmLtrEgress object contains the value
        egrNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:p and 20.36.2.11"
    ::= { dot1agCfmLtrEntry 18 }

dot1agCfmLtrEgressPortIdSubtype OBJECT-TYPE
    SYNTAX      LldpPortIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Format of the egress Port ID.
        If the dot1agCfmLtrEgress object contains the value
        egrNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:q and 20.36.2.12"
    ::= { dot1agCfmLtrEntry 19 }

dot1agCfmLtrEgressPortId OBJECT-TYPE
    SYNTAX      LldpPortId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Egress Port ID. The format of this object is determined by
        the value of the dot1agCfmLtrEgressPortIdSubtype object.
        If the dot1agCfmLtrEgress object contains the value
        egrNoTlv(0), then the contents of this object are meaningless."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:r and 20.36.2.13"
    ::= { dot1agCfmLtrEntry 20 }

dot1agCfmLtrOrganizationSpecificTlv OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0|4..1500))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "All Organization specific TLVs returned in the LTR, if
        any.  Includes all octets including and following the TLV
        Length field of each TLV, concatenated together."
    REFERENCE
       "802.1ag clauses 12.14.7.5.3:s, 21.5.2"
    ::= { dot1agCfmLtrEntry 21 }

-- ******************************************************************
-- The MEP Database Table
-- ******************************************************************

dot1agCfmMepDbTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dot1agCfmMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MEP Database. A database, maintained by every MEP, that
        maintains received information about other MEPs in the
        Maintenance Domain.

        The SMI does not allow to state in a MIB that an object in
        a table is an array. The solution is to take the index (or
        indices) of the first table and add one or more indices.
       "
    REFERENCE
       "19.2.15"
    ::= { dot1agCfmMep 3 }

dot1agCfmMepDbEntry OBJECT-TYPE
    SYNTAX      Dot1agCfmMepDbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MEP Database table entry."
    INDEX { dot1agCfmMdIndex,
            dot1agCfmMaIndex,
            dot1agCfmMepIdentifier,
            dot1agCfmMepDbRMepIdentifier
          }
    ::= { dot1agCfmMepDbTable 1 }

Dot1agCfmMepDbEntry ::= SEQUENCE {
      dot1agCfmMepDbRMepIdentifier         Dot1agCfmMepId,
      dot1agCfmMepDbRMepState              Dot1agCfmRemoteMepState,
      dot1agCfmMepDbRMepFailedOkTime       TimeStamp,
      dot1agCfmMepDbMacAddress             MacAddress,
      dot1agCfmMepDbRdi                    TruthValue,
      dot1agCfmMepDbPortStatusTlv          Dot1agCfmPortStatus,
      dot1agCfmMepDbInterfaceStatusTlv     Dot1agCfmInterfaceStatus,
      dot1agCfmMepDbChassisIdSubtype       LldpChassisIdSubtype,
      dot1agCfmMepDbChassisId              LldpChassisId,
      dot1agCfmMepDbManAddressDomain       TDomain,
      dot1agCfmMepDbManAddress             TAddress
    }

dot1agCfmMepDbRMepIdentifier OBJECT-TYPE
    SYNTAX      Dot1agCfmMepId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Maintenance association End Point Identifier of a remote MEP
        whose information from the MEP Database is to be returned.
       "
    REFERENCE
       "12.14.7.6.2:b"
    ::= { dot1agCfmMepDbEntry 1 }

dot1agCfmMepDbRMepState OBJECT-TYPE
    SYNTAX      Dot1agCfmRemoteMepState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The operational state of the remote MEP IFF State machines."
    REFERENCE
       "12.14.7.6.3:b and 20.22"
    ::= { dot1agCfmMepDbEntry 2}

dot1agCfmMepDbRMepFailedOkTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time (SysUpTime) at which the IFF Remote MEP state machine
        last entered either the RMEP_FAILED or RMEP_OK state.
       "
    REFERENCE
       "12.14.7.6.3:c"
    ::= { dot1agCfmMepDbEntry 3 }

dot1agCfmMepDbMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The MAC address of the remote MEP."
    REFERENCE
       "12.14.7.6.3:d and 20.19.7"
    ::= { dot1agCfmMepDbEntry 4 }

dot1agCfmMepDbRdi OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "State of the RDI bit in the last received CCM (true for
        RDI=1), or false if none has been received.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:e and 20.19.2"
    ::= { dot1agCfmMepDbEntry 5 }

dot1agCfmMepDbPortStatusTlv OBJECT-TYPE
    SYNTAX      Dot1agCfmPortStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An enumerated value of the Port status TLV received in the
        last CCM from the remote MEP or the default value
        psNoPortStateTLV indicating either no CCM has been received,
        or that nor port status TLV was received in the last CCM.
       "
    REFERENCE
       "12.14.7.6.3:f and 20.19.3"
    DEFVAL { psNoPortStateTLV }
    ::= { dot1agCfmMepDbEntry 6}
   
dot1agCfmMepDbInterfaceStatusTlv OBJECT-TYPE
    SYNTAX      Dot1agCfmInterfaceStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "An enumerated value of the Interface status TLV received
        in the last CCM from the remote MEP or the default value
        isNoInterfaceStatus TLV indicating either no CCM has been
        received, or that no interface status TLV was received in
        the last CCM.
       "
    REFERENCE
       "12.14.7.6.3:g and 20.19.4"
    DEFVAL { isNoInterfaceStatusTLV }
    ::= { dot1agCfmMepDbEntry 7}

dot1agCfmMepDbChassisIdSubtype OBJECT-TYPE
    SYNTAX      LldpChassisIdSubtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object specifies the format of the Chassis ID received
        in the last CCM."
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:h and 21.5.3.2"
    ::= { dot1agCfmMepDbEntry 8 }

dot1agCfmMepDbChassisId OBJECT-TYPE
    SYNTAX      LldpChassisId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The Chassis ID. The format of this object is determined by the
        value of the dot1agCfmLtrChassisIdSubtype object.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:h and 21.5.3.3"
    ::= { dot1agCfmMepDbEntry 9 }

dot1agCfmMepDbManAddressDomain OBJECT-TYPE
    SYNTAX      TDomain
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The TDomain that identifies the type and format of
        the related dot1agCfmMepDbManAddress object, used to access
        the SNMP agent of the system transmitting the CCM.  Received
        in the CCM Sender ID TLV from that system.

        Typical values will be one of (not all inclusive) list:


           snmpUDPDomain          (from SNMPv2-TM, RFC3417)
           snmpIeee802Domain      (from SNMP-IEEE802-TM-MIB, RFC4789)

        The value 'zeroDotZero' (from RFC2578) indicates 'no management
        address was present in the LTR', in which case the related
        object dot1agCfmMepDbManAddress MUST have a zero-length OCTET
        STRING as a value.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:h, 21.5.3.5, 21.6.7"
    ::= { dot1agCfmMepDbEntry 10 }

dot1agCfmMepDbManAddress OBJECT-TYPE
    SYNTAX      TAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The TAddress that can be used to access the SNMP
        agent of the system transmitting the CCM, received in the CCM
        Sender ID TLV from that system.

        If the related object dot1agCfmMepDbManAddressDomain contains
        the value 'zeroDotZero', this object dot1agCfmMepDbManAddress
        MUST have a zero-length OCTET STRING as a value.
       "
    REFERENCE
       "802.1ag clauses 12.14.7.6.3:h, 21.5.3.7, 21.6.7"
    ::= { dot1agCfmMepDbEntry 11 }

-- ******************************************************************
-- NOTIFICATIONS (TRAPS)
-- These notifications will be sent to the management entity
-- whenever a MEP loses/restores contact with one or more other MEPs.
-- ******************************************************************

dot1agCfmFaultAlarm NOTIFICATION-TYPE
    OBJECTS     { dot1agCfmMepHighestPrDefect
                }
    STATUS      current
    DESCRIPTION
       "A MEP has a persistent defect condition. A notification
        (fault alarm) is sent to the management entity with the OID
        of the MEP that has detected the fault.

        Whenever a MEP has a persistent defect,
        it may or may not generate a Fault Alarm to warn the system
        administrator of the problem, as controlled by the MEP
        Fault Notification Generator State Machine and associated
        Managed Objects. Only the highest-priority defect, as shown
        in Table 20-1, is reported in the Fault Alarm.

        If a defect with a higher priority is raised after a Fault
        Alarm has been issued, another Fault Alarm is issued.

        The management entity receiving the notification can identify
        the system from the network source address of the
        notification, and can identify the MEP reporting the defect
        by the indices in the OID of the dot1agCfmMepHighestPrDefect
        variable in the notification:

           dot1agCfmMdIndex - Also the index of the MEP's
                              Maintenance Domain table entry
                              (dot1agCfmMdTable).
           dot1agCfmMaIndex - Also an index (with the MD table index)
                              of the MEP's Maintenance Association
                              network table entry
                              (dot1agCfmMaNetTable), and (with the MD
                              table index and component ID) of the
                              MEP's MA component table entry
                              (dot1agCfmMaCompTable).
           dot1agCfmMepIdentifier - MEP Identifier and final index
                              into the MEP table (dot1agCfmMepTable).
       "
    REFERENCE
       "12.14.7.7"
    ::= { dot1agNotifications 1 }

-- ******************************************************************
-- IEEE 802.1ag MIB Module - Conformance Information
-- ******************************************************************

dot1agCfmCompliances OBJECT IDENTIFIER ::= { dot1agCfmConformance 1 }
dot1agCfmGroups      OBJECT IDENTIFIER ::= { dot1agCfmConformance 2 }

-- ******************************************************************
-- Units of conformance
-- ******************************************************************
dot1agCfmStackGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmStackMdIndex,
      dot1agCfmStackMaIndex,
      dot1agCfmStackMepId,
      dot1agCfmStackMacAddress
    }
    STATUS      deprecated
    DESCRIPTION
       "Objects for the Stack group."
    ::= { dot1agCfmGroups 1 }

dot1agCfmDefaultMdGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmDefaultMdDefLevel,
      dot1agCfmDefaultMdDefMhfCreation,
      dot1agCfmDefaultMdDefIdPermission,
      dot1agCfmDefaultMdStatus,
      dot1agCfmDefaultMdLevel,
      dot1agCfmDefaultMdMhfCreation,
      dot1agCfmDefaultMdIdPermission
    }
    STATUS      deprecated
    DESCRIPTION
       "Objects for the Default MD Level group."
    ::= { dot1agCfmGroups 2 }

dot1agCfmVlanIdGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmVlanPrimaryVid,
      dot1agCfmVlanRowStatus
   }
    STATUS      deprecated
    DESCRIPTION
       "Objects for the VLAN ID group."
    ::= { dot1agCfmGroups 3 }

dot1agCfmConfigErrorListGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmConfigErrorListErrorType
    }
    STATUS deprecated
    DESCRIPTION
       "Objects for the CFM Configuration Error List Group."
    ::= {dot1agCfmGroups 4 }

dot1agCfmMdGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmMdTableNextIndex,
      dot1agCfmMdName,
      dot1agCfmMdFormat,
      dot1agCfmMdMdLevel,
      dot1agCfmMdMhfCreation,
      dot1agCfmMdMhfIdPermission,
      dot1agCfmMdMaNextIndex,
      dot1agCfmMdRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Maintenance Domain Group."
    ::={dot1agCfmGroups 5 }

dot1agCfmMaGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmMaNetFormat,
      dot1agCfmMaNetName,
      dot1agCfmMaNetCcmInterval,
      dot1agCfmMaNetRowStatus,
      dot1agCfmMaCompPrimaryVlanId,
      dot1agCfmMaCompMhfCreation,
      dot1agCfmMaCompIdPermission,
      dot1agCfmMaCompRowStatus,
      dot1agCfmMaCompNumberOfVids,
      dot1agCfmMaMepListRowStatus
    }
    STATUS      deprecated
    DESCRIPTION
       "Objects for the MA group."
    ::= { dot1agCfmGroups 6 }

dot1agCfmMepGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmMepIfIndex,
      dot1agCfmMepDirection,
      dot1agCfmMepPrimaryVid,
      dot1agCfmMepActive,
      dot1agCfmMepFngState,
      dot1agCfmMepCciEnabled,
      dot1agCfmMepCcmLtmPriority,
      dot1agCfmMepMacAddress,
      dot1agCfmMepLowPrDef,
      dot1agCfmMepFngAlarmTime,
      dot1agCfmMepFngResetTime,
      dot1agCfmMepHighestPrDefect,
      dot1agCfmMepDefects,
      dot1agCfmMepErrorCcmLastFailure,
      dot1agCfmMepXconCcmLastFailure,
      dot1agCfmMepCcmSequenceErrors,
      dot1agCfmMepCciSentCcms,
      dot1agCfmMepNextLbmTransId,
      dot1agCfmMepLbrIn,
      dot1agCfmMepLbrInOutOfOrder,
      dot1agCfmMepLbrBadMsdu,
      dot1agCfmMepLtmNextSeqNumber,
      dot1agCfmMepUnexpLtrIn,
      dot1agCfmMepLbrOut,
      dot1agCfmMepTransmitLbmStatus,
      dot1agCfmMepTransmitLbmDestMacAddress,
      dot1agCfmMepTransmitLbmDestMepId,
      dot1agCfmMepTransmitLbmDestIsMepId,
      dot1agCfmMepTransmitLbmMessages,
      dot1agCfmMepTransmitLbmDataTlv,
      dot1agCfmMepTransmitLbmVlanPriority,
      dot1agCfmMepTransmitLbmVlanDropEnable,
      dot1agCfmMepTransmitLbmResultOK,
      dot1agCfmMepTransmitLbmSeqNumber,
      dot1agCfmMepTransmitLtmStatus,
      dot1agCfmMepTransmitLtmFlags,
      dot1agCfmMepTransmitLtmTargetMacAddress,
      dot1agCfmMepTransmitLtmTargetMepId,
      dot1agCfmMepTransmitLtmTargetIsMepId,
      dot1agCfmMepTransmitLtmTtl,
      dot1agCfmMepTransmitLtmResult,
      dot1agCfmMepTransmitLtmSeqNumber,
      dot1agCfmMepTransmitLtmEgressIdentifier,
      dot1agCfmMepRowStatus,
      dot1agCfmLtrForwarded,
      dot1agCfmLtrRelay,
      dot1agCfmLtrChassisIdSubtype,
      dot1agCfmLtrChassisId,
      dot1agCfmLtrManAddress,
      dot1agCfmLtrManAddressDomain,
      dot1agCfmLtrIngress,
      dot1agCfmLtrIngressMac,
      dot1agCfmLtrIngressPortIdSubtype,
      dot1agCfmLtrIngressPortId,
      dot1agCfmLtrEgress,
      dot1agCfmLtrEgressMac,
      dot1agCfmLtrEgressPortIdSubtype,
      dot1agCfmLtrEgressPortId,
      dot1agCfmLtrTerminalMep,
      dot1agCfmLtrLastEgressIdentifier,
      dot1agCfmLtrNextEgressIdentifier,
      dot1agCfmLtrTtl,
      dot1agCfmLtrOrganizationSpecificTlv
    }
    STATUS      current
    DESCRIPTION
       "Objects for the MEP group."
    ::= { dot1agCfmGroups 7 }

dot1agCfmMepDbGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmMepDbRMepState,
      dot1agCfmMepDbRMepFailedOkTime,
      dot1agCfmMepDbMacAddress,
      dot1agCfmMepDbRdi,
      dot1agCfmMepDbPortStatusTlv,
      dot1agCfmMepDbInterfaceStatusTlv,
      dot1agCfmMepDbChassisIdSubtype,
      dot1agCfmMepDbChassisId,
      dot1agCfmMepDbManAddressDomain,
      dot1agCfmMepDbManAddress
    }
    STATUS      current
    DESCRIPTION
       "Objects for the MEP group."
    ::= { dot1agCfmGroups 8 }

dot1agCfmNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
      dot1agCfmFaultAlarm
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Notifications group."
    ::= { dot1agCfmGroups 9 }


ieee8021CfmMaNetGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmMaNetFormat,
      dot1agCfmMaNetName,
      dot1agCfmMaNetCcmInterval,
      dot1agCfmMaNetRowStatus,
      dot1agCfmMaMepListRowStatus

    }
    STATUS      current
    DESCRIPTION
       "Objects for the MA Net group."
    ::= { dot1agCfmGroups 10 }

ieee8021CfmDefaultMdDefGroup OBJECT-GROUP
    OBJECTS {
      dot1agCfmDefaultMdDefLevel,
      dot1agCfmDefaultMdDefMhfCreation,
      dot1agCfmDefaultMdDefIdPermission
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Default MD default Level group."
    ::= { dot1agCfmGroups 11 }

-- ******************************************************************
-- MIB Module Compliance statements
-- ******************************************************************

dot1agCfmCompliance MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
       "The compliance statement for support of the CFM MIB module."
    MODULE
        MANDATORY-GROUPS {
            dot1agCfmStackGroup,
            dot1agCfmDefaultMdGroup,
            dot1agCfmConfigErrorListGroup,
            dot1agCfmMdGroup,
            dot1agCfmMaGroup,
            dot1agCfmMepGroup,
            dot1agCfmMepDbGroup,
            dot1agCfmNotificationsGroup
         }

    GROUP dot1agCfmVlanIdGroup
    DESCRIPTION "The VLAN ID group is optional."

    OBJECT dot1agCfmMepLbrBadMsdu
    MIN-ACCESS not-accessible
    DESCRIPTION "The dot1agCfmMepLbrBadMsdu variable is optional.  It
                 MUST not be present if the system cannot compare a
                 received LBR to the corresponding LBM."

    OBJECT dot1agCfmMdRowStatus
--      SYNTAX       RowStatus { active(1), notInService(2) }
--      WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
--                               destroy(6) }
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT dot1agCfmMaNetRowStatus
--      SYNTAX       RowStatus { active(1), notInService(2) }
--      WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
--                               destroy(6) }
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT dot1agCfmMaCompRowStatus
--      SYNTAX       RowStatus { active(1), notInService(2) }
--      WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
--                               destroy(6) }
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT dot1agCfmVlanRowStatus
--      SYNTAX       RowStatus { active(1), notInService(2) }
--      WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
--                               destroy(6) }
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT  dot1agCfmMaMepListRowStatus
--      SYNTAX       RowStatus { active(1), notInService(2) }
--      WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
--                               destroy(6) }
      DESCRIPTION "Support for createAndWait is not required."

    OBJECT  dot1agCfmMepRowStatus
--      SYNTAX       RowStatus { active(1), notInService(2) }
--      WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
--                               destroy(6) }
      DESCRIPTION "Support for createAndWait is not required."

    ::= { dot1agCfmCompliances 1 }
END